shaka-packager/.github/workflows
Joey Parrish bbb07b5547
ci: Fix docs build in GitHub Actions (#1109)
The docs build in GitHub Actions broke with the release of jinja 3.1,
which introduced a breaking change that broke the cloud_sptheme sphinx
extension in use by our docs. That extension is not maintained any more,
so there will be no upstream fix. See also
https://foss.heptapod.net/doc-utils/cloud_sptheme/-/issues/47

That extension adds support for table styling (see
https://cloud-sptheme.readthedocs.io/en/latest/lib/cloud_sptheme.ext.table_styling.html),
but we only appear to have one table in the docs currently
(docs/source/options/segment_template_formatting.rst) and it does not
use the options added by the cloud_sptheme extension.

Therefore the best fix for GitHub Actions and any other system running
jinja 3.1 is to remove that extension from our config.
2022-10-21 11:27:58 -07:00
..
README.md feat: First phase of CMake build system implementation (#1072) 2022-08-16 11:34:51 -07:00
build-docs.yaml ci: Fix docs build in GitHub Actions (#1109) 2022-10-21 11:27:58 -07:00
build-matrix.json feat: First phase of CMake build system implementation (#1072) 2022-08-16 11:34:51 -07:00
build.yaml chore: Mass-update copyright headers (#1086) 2022-08-26 08:44:59 -07:00
docker-hub-release.yaml chore: Mass-update copyright headers (#1086) 2022-08-26 08:44:59 -07:00
docker-image.yaml chore: Mass-update copyright headers (#1086) 2022-08-26 08:44:59 -07:00
github-release.yaml chore: Mass-update copyright headers (#1086) 2022-08-26 08:44:59 -07:00
lint.yaml chore: Mass-update copyright headers (#1086) 2022-08-26 08:44:59 -07:00
npm-release.yaml chore: Mass-update copyright headers (#1086) 2022-08-26 08:44:59 -07:00
pr.yaml chore: Mass-update copyright headers (#1086) 2022-08-26 08:44:59 -07:00
sync-labels.yaml chore: Sync common workflows (#1039) 2022-02-28 21:14:32 -08:00
test-linux-distros.yaml chore: Mass-update copyright headers (#1086) 2022-08-26 08:44:59 -07:00
update-docs.yaml chore: Mass-update copyright headers (#1086) 2022-08-26 08:44:59 -07:00
update-issues.yaml chore: Sync common workflows (#1039) 2022-02-28 21:14:32 -08:00
validate-pr-title.yaml chore: Sync common workflows (#1037) 2022-02-25 10:12:44 -08:00

README.md

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.

  • docker-image.yaml: Build the official Docker image.

  • lint.yaml: Lint Shaka Packager.

  • test-linux-distros.yaml: Test the build on all Linux distros via docker.

Composed workflows

  • On PR (pr.yaml), invoke:

    • lint.yaml
    • build.yaml
    • build-docs.yaml
    • docker-image.yaml
    • test-linux-distros.yaml
  • On release tag (github-release.yaml):

    • Create a draft release
    • Invoke:
      • lint.yaml
      • build.yaml
      • test-linux-distros.yaml
    • Publish the release with binaries from build.yaml attached
  • On release published:

    • docker-hub-release.yaml, publishes the official Docker image
    • npm-release.yaml, publishes the official NPM package
    • update-docs.yaml:
      • Invoke build-docs.yaml
      • Push the output to the gh-pages branch

Common workflows from shaka-project

  • sync-labels.yaml
  • update-issues.yaml
  • validate-pr-title.yaml

Required Repo Secrets

  • DOCKERHUB_CI_USERNAME: The username of the Docker Hub CI account
  • DOCKERHUB_CI_TOKEN: An access token for Docker Hub
  • 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 the shaka-bot account
  • 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

Optional Repo Secrets

  • ENABLE_DEBUG: Set to non-empty to enable debugging via SSH after a failure
  • ENABLE_SELF_HOSTED: Set to non-empty to enable self-hosted runners in the build matrix