Skip to content

Repository files navigation

CI runner

Docker image for CI runner

TestGitHub IssuesGitHub Pull RequestsGitHub release (latest by date)LICENSERenovate

Docker Pullsamd64

Vortex Ecosystem


Based on Debian php:8.4-cli-bookworm.

Included packages

Usage

Make sure to always pin the version of this image to the tag:

drevops/ci-runner:25.8.0

For testing purposes, you can use the canary tag:

drevops/ci-runner:canary

When using in GitHub Actions, make sure to add a fix for the overwritten $HOME:

name: Testjobs:
test:
runs-on: ubuntu-latestcontainer:
image: drevops/ci-runner:25.8.0steps:
- name: Preserve $HOME set in the containerrun: echo HOME=/root >> "$GITHUB_ENV" # https://github.com/actions/runner/issues/863
- name: Check out the repouses: actions/checkout@v5

Testing

This project uses Goss (via dgoss) to test the image environment from the host. The image itself does not bundle Goss. To run the tests locally:

# Build the image
docker build -t drevops/ci-runner:test-ci .# Run tests
dgoss run -i drevops/ci-runner:test-ci

Note for ARM64 systems (Apple Silicon): You'll need to install the correct goss binaries:

# Create bin directory
mkdir -p ~/bin
# Download macOS ARM64 goss binary for local use
curl -L "https://github.com/aelsabbahy/goss/releases/latest/download/goss-darwin-arm64" -o ~/bin/goss
chmod +x ~/bin/goss
# Download Linux AMD64 goss binary for container testing
curl -L "https://github.com/aelsabbahy/goss/releases/latest/download/goss-linux-amd64" -o ~/bin/goss-linux-amd64
chmod +x ~/bin/goss-linux-amd64
# Download dgoss wrapper
curl -L "https://github.com/aelsabbahy/goss/releases/latest/download/dgoss" -o ~/bin/dgoss
chmod +x ~/bin/dgoss
# Run tests with correct binaryexport GOSS_PATH=~/bin/goss-linux-amd64
~/bin/dgoss run -i drevops/ci-runner:test-ci

Maintenance and releasing

Versioning

This project uses Year-Month-Patch versioning:

  • YY: Last two digits of the year, e.g., 25 for 2025.
  • m: Numeric month, e.g., April is 4.
  • patch: Patch number for the month, starting at 0.

Example: 25.4.2 indicates the third patch in April 2025.

Releasing

Releases are scheduled to occur at a minimum of once per month.

This image is built by DockerHub via an automated build and tagged as follows:

  • YY.m.patch tag - when release tag is published on GitHub.
  • latest - when release tag is published on GitHub.
  • canary - on every push to main branch

Dependencies update

Renovate bot is used to update dependencies. It creates a PR with the changes and automatically merges it if CI passes. These changes are then released as a canary version.


This repository was created using the Scaffold project template

About

🏃‍♂️ Docker image for CI job runner container

Resources

Stars

4 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages