Files
Jason Stedwell 1757777a32 ver 0.1
2026-06-29 21:57:51 -05:00

2.0 KiB

ADR 0001 — Base Image Selection

Status: Accepted


Context

The runner needs a base OS image that provides:

  • A working apt package ecosystem for installing git, curl, jq, tini, ca-certificates, tzdata.
  • Compatibility with Docker's official apt repository (for Docker CLI).
  • Compatibility with NodeSource (for Node.js 20 LTS).
  • A label environment the existing workflows reference: ubuntu-latest.

Candidates considered:

  1. ubuntu:22.04 — LTS, wide ecosystem support, good compatibility.
  2. ubuntu:24.04 — Newer LTS, some tooling still stabilizing.
  3. debian:bookworm-slim — Smaller footprint, good compatibility, but ubuntu-latest label mismatch.
  4. debian:bullseye-slim — Older, stable, but further from ubuntu-latest expectations.

Decision

Use ubuntu:22.04 as the base image, pinned by exact tag.


Rationale

  • Existing Gitea workflows use runs-on: ubuntu-latest. Basing the runner image on Ubuntu 22.04 maximizes compatibility with GitHub Actions steps written for that environment.
  • Ubuntu 22.04 LTS has long-term support through 2027, reducing forced base image churn.
  • Docker's apt repository and NodeSource both officially support Ubuntu 22.04.
  • Ubuntu 22.04 is the most common self-hosted runner base image in community examples, so troubleshooting resources are abundant.

Consequences

  • Final image size will be larger than a minimal Alpine or Debian slim base, which is acceptable given the goal of bundling all runtime dependencies.
  • When the workflow ecosystem moves to ubuntu-24.04, the base image can be bumped with a version argument change (ARG UBUNTU_VERSION=24.04).

Alternatives considered

Debian bookworm-slim: Smaller image, but the ubuntu-latest label in existing workflows creates an expectation of Ubuntu compatibility. Switching to Debian may cause subtle incompatibilities with actions that check the OS ID.

Ubuntu 24.04: Not yet the default for ubuntu-latest as of the initial build date; 22.04 remains the more tested choice for self-hosted runners.