Build sources + digest-pin registry for the container images Hal0ai/hal0 runs as slot runners on AMD Strix Halo (gfx1151) boxes. Split out of the app repo so heavy/slow GPU-image CI is isolated and the supply chain is hal0-owned end to end.
images.json is the source of truth for which runner images exist. Two
kinds:
- owned — a Dockerfile lives here;
build-matrix.ymlbuilds + pushes it.cpu,flm,kokoro,moonshine,qwen3tts,comfyui. - referenced — already a hal0-owned repo with its own CI; pinned here but
NOT vendored.
vulkan,rocm(→Hal0ai/amd-strix-halo-toolboxes);rocmfpx/vulkanfpx(→Hal0ai/Hal0_ROCmFPX). Seeexternal/.
The app keeps consuming manifest.json; this repo's CI resolves published
ghcr digests (scripts/emit-manifest.sh) and opens a manifest-bump PR against
the app. The app resolver is unchanged — see docs/WIRING.md.
The app's dashboard Runner Images page also consumes images.json
directly: its sync fetches
raw.githubusercontent.com/Hal0ai/hal0-runner-images/main/images.json
(schema hal0.runner-images.v1: top-level schema string + images
array, each entry keyed by id) and probes ghcr anonymously for
tag/digest/size. Keep that shape stable — the app degrades to
GHCR-only rows when the file fails to parse.
images.json source of truth (owned + referenced, pins, build info)
cpu/ flm/ kokoro/ owned runner Dockerfiles (+ context)
moonshine/ qwen3tts/
comfyui/ NEW hal0-owned ComfyUI (gfx1151 ROCm) + versions.env
external/README.md referenced sources (not vendored) + how to bump
scripts/emit-manifest.sh resolve ghcr digests → patch app manifest.json
.github/workflows/build-matrix.yml build+push publish:ci images (comfyui) — BUILD ONLY
.github/workflows/pin-digests.yml resolve published digests → bump-PR app manifest (BUILD-FREE)
docs/PROVENANCE.md where every source really lives (handoff corrections)
docs/WIRING.md how the app consumes these images
docs/comfyui-research-2026-07-19.md ComfyUI fork survey + decision
- Owned Dockerfiles present. kokoro/moonshine were reconstructed from published-image history (their Dockerfiles were never in the app repo) — verify a rebuild matches the pinned digest before trusting them as source.
- comfyui is a drafted, hal0-owned single ROCm image replacing third-party
kyuz0.
comfyui/versions.env*_REFvalues are still floating branch names — pin to commit SHAs before a release build. pin-digests.yml(the manifest bump) needs theHAL0_MANIFEST_PR_TOKENsecret (Contents+PR write on Hal0ai/hal0) — already set. Referenced/external images build in their own repos; only their digests are re-pinned here.
See docs/PROVENANCE.md for the full corrected inventory.