Container images at https://ghcr.io/yolean/
Dockerfiles build as USER root.
For each image in the TONONROOT list, a :latest tag is produced by appending
nonroot-footer.Dockerfile which switches to UID 65532.
Build a single image and its dependencies:
./build.sh node-kafka
Build multiple images:
./build.sh duckdb headless-chrome
Build everything:
./build.sh --all
Images are tagged as yolean/{name}:{tag} locally.
The workflow at .github/workflows/images.yaml is generated by test.sh.
After editing image lists in images.sh or build step templates in test.sh,
regenerate with:
./test.sh
The workflow uses registry-based BuildKit cache (type=registry) stored
as ghcr.io/yolean/{name}:_buildcache* manifests.
Only main pushes the floating :latest and :root tags and writes the cache.
A push to a hotfix-* branch builds that branch and pushes :{sha} and
:{sha}-root tags only, for patching an older base commit: branch from it,
narrow images.sh to what you need, and regenerate.