This document establishes the unified Image Factory Completion Gate and Definition of Done for all supported TunaOS variants (tunaos.toml).
Deliver a fully functional TunaOS image factory in which every supported variant is built, published, installable, bootable, updateable, recoverable, and backed by fresh automated evidence.
For every supported variant × flavor × platform cell:
- OCI Build & Publish: OCI image builds reproducibly and publishes by immutable digest (
ghcr.io/tuna-os/<variant>@sha256:...). - Package & Desktop Contracts: Passes package/desktop contract checks via
verify-desktop-experience.sh(Desktop Contract Sweep) and meets desktop completeness & parity floor standards (#1294). - Declared Outputs: All declared outputs (OCI / ISO / QCOW2 / hardware installer) are generated and discoverable.
- Boot Verification: Each declared output boots and reaches its expected desktop or service contract.
- Install-to-Disk & LUKS: Complete install-to-disk, reboot, and first boot verified (
luks-e2e.yml). - Lifecycle Stream Operations: Published streams pass bootc
update,rebase, androllbackvalidation (bootc-lifecycle.yml). - Supply-Chain Verification: Enforceable keyless Cosign v3 signatures, SPDX SBOMs, and provenance attestations attached and verified (VERIFY-ARTIFACTS.md).
- Fresh Evidence: Automated evidence is fresh, linked, and required for stable promotion (MATRIX-STATUS.md).
- Failure Visibility: Scheduled failures cannot be hidden by aggregate workflow status or silent skips.
- Catalog & Artifact Currency: User-facing catalog, documentation, release assets, and checksums agree.
- Lifecycle Ledger & Ledger Gate (
#1278,#1283):scripts/gen-matrix-status.pyregeneratesdocs/MATRIX-STATUS.mdtracking LUKS E2E, Desktop Contract, Bootc Lifecycle, and Installer Smoke.
- Installer Coverage (
#1279):scripts/e2e-installer-gui-checks.shderives installer frontend test coverage from declared capabilities.
- Bootc Update/Rebase/Rollback (
#1280):.github/workflows/bootc-lifecycle.ymlvalidates stream updates, variant/desktop rebases, and rollback recovery.- That validation is client-side (a host already on the bad image can
bootc rollback). Repointing the published bare tag away from a bad digest so hosts that haven't updated yet stop receiving it is a separate, manual step: see ../runbooks/rollback-a-bad-image-promotion.md.
- Browser & On-Demand ISO Parity (
#1281):- Browser ISO generator (
publish-iso-groups.yml) aligns with on-demand tacklebox builds.
- Browser ISO generator (
- Supply Chain Enforcement (
#1187,#1193):- Cosign keyless OIDC signing, SPDX SBOM attestations, and ISO verification bundles (VERIFY-ARTIFACTS.md).
- Release Currency & Lifecycle Admission (
#1254,#1175,#1196,#1270,#1763):- Strict admission criteria for new variants, desktop flavors, and hardware/kernel profiles (T2/Asahi/HWE) before matrix expansion (#1270). These include rebuild-config and manifest completeness (#1763).
- Scheduled release currency and flavor parity enforcement across all published flavors (#1254).
- Desktop Parity & Completeness Gate (
#1294):- Verification of desktop completeness and minimum package/size floors across non-RPM and RPM bases to prevent thin-desktop releases.
- Install & Hardware Verification (
#979,#1099,#989,#777,#781):- Asahi Apple Silicon (
scripts/verify-asahi-image.sh) and Intel T2 hardware qualification runs.
- Asahi Apple Silicon (
- LUKS E2E & Desktop Contract Ledger: MATRIX-STATUS.md
- Pipeline & Build Architecture: PIPELINE.md
- Artifact Verification Guide: VERIFY-ARTIFACTS.md