drevops/ci-runner

Sponsored OSS

By DrevOps

Updated about 9 hours ago

Docker image used in CI as a runner container

Image
Security
Languages & frameworks
Integration & delivery
0

100K+

drevops/ci-runner repository overview

CI runner

Docker image for CI runner

Test GitHub Issues GitHub Pull Requests GitHub release (latest by date) LICENSE Renovate

Docker Pulls amd64

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: Test

jobs:
  test:
    runs-on: ubuntu-latest

    container:
      image: drevops/ci-runner:25.8.0

    steps:
      - name: Preserve $HOME set in the container
        run: echo HOME=/root >> "$GITHUB_ENV" # https://github.com/actions/runner/issues/863

      - name: Check out the repo
        uses: 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 binary
export 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

Tag summary

Content type

Image

Digest

sha256:62ff9e58d

Size

422.6 MB

Last updated

about 9 hours ago

docker pull drevops/ci-runner:canary

This week's pulls

Pulls:

2,784

Last week