shaka-packager/.github/workflows
Joey Parrish e2d66b33fa fix: Fix crash in static-linked linux builds
The official, static-linked linux builds were crashing in their use of
getaddrinfo, which libcurl was configured to use.  Both getaddrinfo
and all of its alternatives available in glibc fail with static
linking.

We can fix this by configuring libcurl to use libc-ares on Linux
instead.  This allows us to keep the benefits of a statically-linked
Linux binary.

Closes #996

Change-Id: Ib4a9eb939813fd165727788726459ef4adf3fc4d
2021-10-14 10:35:49 -07:00
..
custom-actions fix: Fix crash in static-linked linux builds 2021-10-14 10:35:49 -07:00
README.md ci: Use GITHUB_TOKEN instead of SHAKA_BOT_TOKEN (#977) 2021-08-12 10:50:29 -07:00
build_and_test.yaml test: Run docker-based Linux distro tests in GitHub Actions 2021-10-14 10:16:22 -07:00
docker_hub_release.yaml Make CI workflows safe when testing in a fork 2021-06-17 13:36:59 -07:00
github_release.yaml test: Run docker-based Linux distro tests in GitHub Actions 2021-10-14 10:16:22 -07:00
npm_release.yaml Make CI workflows safe when testing in a fork 2021-06-17 13:36:59 -07:00
update_docs.yaml ci: Use GITHUB_TOKEN instead of SHAKA_BOT_TOKEN (#977) 2021-08-12 10:50:29 -07:00

README.md

GitHub Actions CI

Actions

  • custom-actions/lint-packager: Lints Shaka Packager. You must pass fetch-depth: 2 to actions/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 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