mirror of
https://github.com/shaka-project/shaka-packager.git
synced 2026-04-03 03:40:05 +00:00
Some checks failed
Update Issues / update-issues (push) Has been cancelled
Release / Settings (push) Has been cancelled
Release / Update docs (push) Has been cancelled
Release / Update docker image (push) Has been cancelled
Release / Build (push) Has been cancelled
Release / Artifacts (push) Has been cancelled
Release / Update NPM (push) Has been cancelled
Release / release (push) Has been cancelled
Release / Compute latest release flag (push) Has been cancelled
Current deps require an old CMake version, support for which has been removed from latest CMake in Ubuntu and Arch. ``` CMake Error at packager/third_party/c-ares/source/CMakeLists.txt:3 (CMAKE_MINIMUM_REQUIRED): Compatibility with CMake < 3.5 has been removed from CMake. ``` This upgrades: - abseil-cpp, 20240116.0 => 20260107.1 - c-ares, v1.20.1 => v1.34.5 - json, v3.10.1-115-g954b10ad => v3.12.0 - libwebm, 1.0.0.28 => 1.0.0.32 With these changes, the build has been verified with CMake 3.31.11 (latest v3) and CMake 4.2.3 (latest v4). --------- Co-authored-by: Joey Parrish <joeyparrish@google.com>
GitHub Actions CI
Reusable workflows
-
build.yaml: Build and test all combinations of OS & build settings. Also builds docs on Linux. -
build-docs.yaml: Build Packager docs. Runs only on Linux. -
build-docker.yaml: Build the official Docker image. -
lint.yaml: Lint Shaka Packager. -
publish-docs.yaml: Publish Packager docs. Runs on the latest release. -
publish-docker.yaml: Publish the official docker image. Runs on all releases. -
publish-npm.yaml: Publish binaries to NPM. Runs on all releases. -
test-linux-distros.yaml: Test the build on all Linux distros via docker.
Composed workflows
- On PR (
pr.yaml), invoke:lint.yamlbuild.yamlbuild-docs.yamlbuild-docker.yamltest-linux-distros.yaml
Release workflow
release-please.yaml- Updates changelogs, version numbers based on conventional commits syntax and semantic versioning
- Generates/updates a PR on each push
- When the PR is merged, runs additional steps:
- Creates a GitHub release
- Invokes
publish-docs.yamlto publish the docs - Invokes
publish-docker.yamlto publish the docker image - Invokes
build.yaml - Attaches the binaries from
build.yamlto the GitHub release - Invokes
publish-npm.yamlto publish the binaries to NPM
Common workflows from shaka-project
sync-labels.yamlupdate-issues.yamlvalidate-pr-title.yaml
Required Repo Secrets
RELEASE_PLEASE_TOKEN: A PAT forshaka-botto run therelease-pleaseaction. If missing, the release workflow will use the defaultGITHUB_TOKENDOCKERHUB_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_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
Repo Settings
Each of these workflow features can be enabled by creating a "GitHub Environment" with the same name in your repo settings. Forks will not have these enabled by default.
debug: enable debugging via SSH after a failureself_hosted: enable self-hosted runners in the build matrix