No description
  • Dockerfile 90.8%
  • Makefile 9.2%
Find a file
Nathan Price a358f56cbf
All checks were successful
Build, Version & Push CI Image / Test build image (push) Successful in 1m56s
Build, Version & Push CI Image / Bump version and create changelog with commitizen (push) Successful in 15s
Build, Version & Push CI Image / Build and push image (push) Successful in 52s
build: bump curl and ffmpeg apt pins to versions still in bookworm
2026-07-12 17:59:19 -04:00
.forgejo chore: drop dead get-package target and stale renovate ignorePaths 2026-07-12 17:49:43 -04:00
.cz.toml ci: init commitizen 2026-06-22 22:47:46 -04:00
.editorconfig bump 2026-05-16 00:52:25 -04:00
.gitignore chore: scaffold CI image with exiftool, poppler-utils, ffmpeg 2026-05-02 00:45:34 -04:00
CHANGELOG.md bump: version 0.0.0 → 0.1.0 2026-06-23 02:49:58 +00:00
Dockerfile build: bump curl and ffmpeg apt pins to versions still in bookworm 2026-07-12 17:59:19 -04:00
Makefile chore: drop dead get-package target and stale renovate ignorePaths 2026-07-12 17:49:43 -04:00
README.md docs: describe image contents, consumers, and release flow in README 2026-07-12 17:49:43 -04:00

athena-archive-ci-image

Base CI container image for the Athena Archive repos, published to the Forgejo container registry as code.modernleft.org/modernleft/athena-archive-ci.

Contents

Single-stage image (see Dockerfile for the authoritative, pinned versions):

  • Node (Debian slim base) with corepack + pnpm enabled
  • Python installed via uv
  • exiftool, poppler-utils, ffmpeg (media tooling for athena-api / athena-file tests)
  • Pre-created cache mount points: /opt/pnpm-store, /opt/corepack, /opt/next-cache, /opt/uv-cache
  • Runs as the unprivileged athena user

Consumers

CI workflows in athena-api, athena-frontend, and athena-file run inside this image, pinned by version tag. Publishing a new version does not move consumers until they update their pins.

Release flow

.forgejo/workflows/build.yml runs on pushes to main that touch the Dockerfile or the workflow itself: commitizen bumps the version (updating CHANGELOG.md), then the image is published with the version tag and latest. Pushes with bump:, chore(deps), or fix(deps) messages skip the bump and publish, so renovate merges never cut a release.

Local build

make build   # docker build -> athena-archive-ci:local
make run     # interactive shell in the local image