|
1 | 1 | # Custom GitHub Actions self-hosted runner image for airplanes.live ARC. |
2 | 2 | # Official runner image + a C toolchain so cgo builds (e.g. `go test -race`) |
3 | | -# work without a per-job apt-get. Docker-in-Docker for image builds is a |
4 | | -# separate concern, handled by `containerMode: dind` in the ARC Helm values, |
5 | | -# not by this image. |
| 3 | +# work without a per-job apt-get, plus the Docker Compose CLI plugin so |
| 4 | +# Compose-based jobs work without a per-job download. Docker-in-Docker for |
| 5 | +# image builds is a separate concern, handled by `containerMode: dind` in the |
| 6 | +# ARC Helm values, not by this image. |
6 | 7 | FROM ghcr.io/actions/actions-runner:2.334.0 |
7 | 8 |
|
| 9 | +# Docker Compose CLI plugin, pinned + checksum-verified, installed to the global |
| 10 | +# CLI plugin path so `docker compose` resolves for the runner user. The base |
| 11 | +# image ships the Docker CLI + Buildx but not Compose. Build is linux/amd64 only. |
| 12 | +ARG COMPOSE_VERSION=v5.1.4 |
| 13 | +ARG COMPOSE_SHA256=33b208d7e76639db742fae84b966cc01dacae58ca3fc4dabbc907045aefdf0c4 |
| 14 | + |
8 | 15 | USER root |
9 | 16 | RUN apt-get update \ |
10 | 17 | && apt-get install -y --no-install-recommends \ |
11 | | - build-essential \ |
12 | | - && rm -rf /var/lib/apt/lists/* |
| 18 | + build-essential ca-certificates curl \ |
| 19 | + && rm -rf /var/lib/apt/lists/* \ |
| 20 | + && mkdir -p /usr/local/lib/docker/cli-plugins \ |
| 21 | + && curl -fsSL -o /usr/local/lib/docker/cli-plugins/docker-compose \ |
| 22 | + "https://github.com/docker/compose/releases/download/${COMPOSE_VERSION}/docker-compose-linux-x86_64" \ |
| 23 | + && echo "${COMPOSE_SHA256} /usr/local/lib/docker/cli-plugins/docker-compose" | sha256sum -c - \ |
| 24 | + && chmod 0755 /usr/local/lib/docker/cli-plugins/docker-compose \ |
| 25 | + && /usr/local/lib/docker/cli-plugins/docker-compose version |
13 | 26 | USER runner |
0 commit comments