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-ruby
but 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.