This is a container image of actions/runner for the new RunnerScaleSets.
We extend the official image to solve the following issues:
We need to run a job on both amd64 and arm64 nodes. This repository provides a multi-architectures image. (community#56720)(resolved by actions/runner#2601)- We would like to run both runner and Dockerd in same container for the resource efficiency of Kubernetes nodes. This image starts Dockerd under docker-init.
We need to use(resolved by actions/runner#2651)ruby/setup-rubybut it does not support Debian. This image is based on Ubuntu. (actions-runner-controller#2610)- We need some essential packages such as
git - Support Ubuntu 20.04 runner for backward compatibility
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.
For long-term maintainability and security,
- Align to the upstream image
- Keep less packages
- Keep simple logic
When a new version of actions/runner is released,
- Renovate creates a pull request to update a dependency
- Renovate automatically merges it
- GitHub Actions automatically creates a release corresponding to the runner version
Here is the versioning policy.
- Use same version as the upstream, such as
2.304.0 - If we have added a change, increment the patch version. For example, if the upstream is
2.304.0, we will create2.304.1
This is an open source project. Feel free to open issues and pull requests for improving code and documents.