3fd538a587
Using the latest depot_tools no longer works. depot_tools also wants to auto-update itself, which must now be disabled. We also need to disable the copy of python (vpython) included in depot_tools, since for some distros, it has dependencies on system libraries that no longer exist. Finally, we need to force some distros to use python 2, because our build system is ancient and needs to be ripped out and replaced some day soon. This fixes build issues in our CI, our Dockerfiles, and in general on certain platforms or distros. Closes #1023 |
||
---|---|---|
.. | ||
custom-actions | ||
README.md | ||
build_and_test.yaml | ||
docker_hub_release.yaml | ||
github_release.yaml | ||
npm_release.yaml | ||
sync-labels.yaml | ||
update-issues.yaml | ||
update_docs.yaml | ||
validate-pr-title.yaml |
README.md
GitHub Actions CI
Actions
custom-actions/lint-packager
: Lints Shaka Packager. You must passfetch-depth: 2
toactions/checkout
in order to provide enough history for the linter to tell which files have changed.custom-actions/build-packager
: Builds Shaka Packager. Leaves build artifacts in the "artifacts" folder. Requires OS-dependent and build-dependent inputs.custom-actions/test-packager
: Tests Shaka Packager. Requires OS-dependent and build-dependent inputs.custom-actions/build-docs
: Builds Shaka Packager docs.
Workflows
- On PR:
build_and_test.yaml
: Builds and tests all combinations of OS & build settings. Also builds docs.
- On release tag:
github_release.yaml
: Creates a draft release on GitHub, builds and tests all combinations of OS & build settings, builds docs on all OSes, attaches static release binaries to the draft release, then fully publishes the release.
- On release published:
docker_hub_release.yaml
: Builds a Docker image to match the published GitHub release, then pushes it to Docker Hub.npm_release.yaml
: Builds an NPM package to match the published GitHub release, then pushes it to NPM.update_docs.yaml
: Builds updated docs and pushes them to the gh-pages branch.
Required Repo Secrets
DOCKERHUB_CI_USERNAME
: The username of the Docker Hub CI accountDOCKERHUB_CI_TOKEN
: An access token for Docker Hub- To generate, visit https://hub.docker.com/settings/security
DOCKERHUB_PACKAGE_NAME
: Not a true "secret", but stored here to avoid someone pushing bogus packages to Docker Hub during CI testing from a fork- In a fork, set to a private name which differs from the production one
NPM_CI_TOKEN
: An "Automation"-type access token for NPM for theshaka-bot
account- To generate, visit https://www.npmjs.com/settings/shaka-bot/tokens and select the "Automation" type
NPM_PACKAGE_NAME
: Not a true "secret", but stored here to avoid someone pushing bogus packages to NPM during CI testing from a fork- In a fork, set to a private name which differs from the production one