No description
- Dockerfile 90.8%
- Makefile 9.2%
|
|
||
|---|---|---|
| .forgejo | ||
| .cz.toml | ||
| .editorconfig | ||
| .gitignore | ||
| CHANGELOG.md | ||
| Dockerfile | ||
| Makefile | ||
| README.md | ||
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
athenauser
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