Skip to content

Add gha-runner image (build tools for self-hosted CI)#7

Merged
mgarratt merged 1 commit into
mainfrom
feat/gha-runner-image
Jun 27, 2026
Merged

Add gha-runner image (build tools for self-hosted CI)#7
mgarratt merged 1 commit into
mainfrom
feat/gha-runner-image

Conversation

@mgarratt

@mgarratt mgarratt commented Jun 27, 2026

Copy link
Copy Markdown
Owner

Why

My home cluster's workflows now run on the self-hosted arc-runner-set, but the minimal actions/actions-runner image lacks tools ubuntu-latest ships, so jobs fail:

Workflow Missing
chart-lint, python-lint make (+ build-essential for Python C-extensions)
frontend-lint libatomic.so.1 (pnpm's prebuilt binary)
stack-smoke docker compose plugin

What

A new matrix image images/gha-runner/ (Dockerfile + image.toml), built and published by the existing publish.yml matrix like every other image — FROM actions/actions-runner:2.335.1 + those packages, arm64-only (platforms = ["linux/arm64"], since the runners are aarch64).

Sequence to land it

  1. Mergepublish.yml builds + pushes ghcr.io/mgarratt/docker-images/gha-runner:latest (public, since this repo is public).
  2. Point the ARC scale set at it (mgarratt/home-cluster#36).
  3. Re-run the self-hosted lint/test workflows — they should pass.

Note: publish.yml runs on GitHub-hosted runners, so the build itself needs Actions billing in good standing. If you'd rather this build self-hosted too, the matrix's QEMU step needs handling for arm64-only entries — happy to do that as a follow-up.

🤖 Generated with Claude Code

@mgarratt mgarratt force-pushed the feat/gha-runner-image branch from 02a7d61 to 86698cb Compare June 27, 2026 12:32
@mgarratt mgarratt changed the title Custom ARC runner image (build tools for self-hosted CI) Add gha-runner image (build tools for self-hosted CI) Jun 27, 2026
The minimal actions/actions-runner image lacks tools my home cluster's
self-hosted workflows need (make/build-essential for Makefile targets + Python
C-extensions, libatomic1 for pnpm, the docker compose plugin for compose smoke
tests), so lint/test jobs fail on the runners.

Add an arm64-only gha-runner image (FROM actions/actions-runner + those packages),
built and published by the standard matrix (publish.yml) like every other image.
arm64-only because the ARC runners are aarch64.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@mgarratt mgarratt force-pushed the feat/gha-runner-image branch from 86698cb to 0eff56d Compare June 27, 2026 12:37
@mgarratt mgarratt merged commit 01e1204 into main Jun 27, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant