Skip to content

Container image of actions/runner for RunnerScaleSets with Dockerd

License

Notifications You must be signed in to change notification settings

quipper/actions-runner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

quipper/actions-runner build

This is a container image of actions/runner for the new RunnerScaleSets.

Purpose

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 ruby/setup-ruby but it does not support Debian. This image is based on Ubuntu. (actions-runner-controller#2610) (resolved by actions/runner#2651)
  • 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)

We are looking for the official supports, but need to maintain our custom image for now.

For long-term maintainability and security,

  • Align with the upstream image
  • Keep less packages
  • Keep simple logic

Release

When a new version of actions/runner is released,

  1. Renovate creates a pull request to update a dependency
  2. We manually merge it
  3. 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 create 2.304.1

Contributions

This is an open source project. Feel free to open issues and pull requests for improving code and documents.