This is a container image extending actions/runner.
For maintainability and security,
- Align to the official image
- Keep the script simple
- Do not add extra packages
We extend the official image for the following issues:
- Run both runner and Dockerd in same container for the resource efficiency of Kubernetes nodes. This image starts Dockerd under docker-init.
- Add some essential packages such as
git Support Ubuntu 20.04 runner for backward compatibilityRun a job on both amd64 and arm64 nodes. This repository provides a multi-architectures image. (community#56720)(resolved by actions/runner#2601)Support(resolved by actions/runner#2651)ruby/setup-rubywhich does not support Debian. This image is based on Ubuntu. (actions-runner-controller#2610)Add a hosted tool cache for actions/setup-node (#160)(resolved by actions/setup-node#857)Automatically set the cloud-local APT sources to reduce time of apt-get (#432)
We are looking for the official supports, but need to maintain our custom image for now.
When a new version of actions/runner is released,
- Renovate creates a pull request to update a dependency
- Renovate automatically merges it
- GitHub Actions builds an image and runs the E2E test
- GitHub Actions adds the tag of runner version, such as
2.304.0, to the tested image - GitHub Actions creates a release corresponding to the runner version, if not exists
When a change is pushed into the main branch, the tag of runner version is overwritten by the new image.
Pin the image digest, such as ghcr.io/quipper/actions-runner:2.304.0@sha256:....
Renovate will update the digest.