mirror of
https://github.com/shaka-project/shaka-packager.git
synced 2026-04-02 11:20:08 +00:00
This brings some workflow improvements and fixes from the `cmake` branch to `main`, as well as some unique fixes to keep gclient working, so that we can continue to accept contributions in `main` until the `cmake` merge is ready. - Fix docs build in GitHub Actions (from `cmake` branch) - Cancel workflow when a PR is updated (from `cmake` branch) - Fix docker failures caused by running as root (from `cmake` branch) - Work around exception in depot_tools on Windows - Use Windows 2019 images in GitHub Actions for compatibility with gyp - Remove Docker build on ArchLinux, which no longer supports python2 at all - (NOTE: The `cmake` branch is still building on ArchLinux. Docker builds for Arch will be restored to the `main` branch when the `cmake` branch is finally merged to `main`.)
GitHub Actions CI
Actions
custom-actions/lint-packager: Lints Shaka Packager. You must passfetch-depth: 2toactions/checkoutin 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-botaccount- 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