clawdie-iso/scripts
Sam & Claude 42ec7b5ab1 fix(build): repair + harden the release gate (Sam & Claude)
Codex's release gate (96fc1d3) had the right idea but two issues that the
verified gates (sh -n / prettier / git diff) structurally could not catch,
because none exercise the BUILD_CHANNEL=release path:

1. Blocker: check_release_gate was *called* at line ~105 but *defined* (and its
   resolve_* dependencies defined) far below. In POSIX sh that's a call before
   definition — with `set -e`, a release build aborted at exit 127
   ("check_release_gate: not found") before the gate ran. Moved the invocation
   into the preflight section, after all helpers are defined.

2. Unsatisfiable + asymmetric: the gate required clawdie-ai to be on a vX.Y.Z
   tag, but clawdie-ai has no v-tag and is being pruned — so release was
   impossible. Replaced with reproducibility-by-record: every staged source
   (clawdie-iso, clawdie-ai, colibri, zot) must be a clean, committed tree; the
   manifest's recorded commits then fully describe the artifact. A recorded SHA
   is as pinned as a tag. Dropped the tag requirement.

Also:
- "clean" now uses `git status --porcelain`, so untracked files (which a
  diff-only check misses but which still change the build) fail the gate.
- Factored the repeated resolve+dirty boilerplate into assert_clean_repo.
- New scripts/test-release-gate.sh smoke test: asserts the porcelain semantics
  and that the gate is invoked after its definition (guards the exit-127
  regression). A 5-line test that the three "verified gates" could not provide.

Checks: sh -n build.sh; sh -n + run scripts/test-release-gate.sh (PASS);
git diff --check.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-15 16:56:55 +02:00
..
bhyve-pf-allow.sh Harden bhyve tests and home.arpa defaults (Sam & Codex) 2026-06-04 20:04:21 +02:00
bhyve-test.sh Make ISO builds cleaner by default (Sam & Codex) 2026-06-04 20:04:22 +02:00
build-and-log.sh Merge pull request 'pi/main-live-boot-xfce-colibri-fixes' (#4) from pi/main-live-boot-xfce-colibri-fixes into main 2026-06-04 20:04:23 +02:00
check-format.sh Merge xfce-operator-usb: Track F Colibri, DeepSeek smoke, LLM provider harness 2026-06-04 20:04:23 +02:00
fetch-npm-globals.sh Pin ISO npm global CLI versions 2026-06-04 20:04:23 +02:00
import-clawdie-skills.sh Merge pull request 'Import clawdie-ai skills into colibri catalog at build time' (#20) from fix/import-clawdie-skills into main 2026-06-04 20:04:23 +02:00
preflight-host.sh Clarify vmm device checks in host preflight (Sam & Codex) 2026-06-04 20:04:21 +02:00
publish.sh Make ISO builds cleaner by default (Sam & Codex) 2026-06-04 20:04:22 +02:00
repack-networkmgr-for-mdo.mjs Merge xfce-operator-usb: Track F Colibri, DeepSeek smoke, LLM provider harness 2026-06-04 20:04:23 +02:00
run-bhyve-test.sh Clarify Colibri live and Clawdie deploy service split (Sam & Codex) 2026-06-13 12:00:57 +02:00
stage-colibri-iso.sh fix(iso): align live rebuild staging with rc.d audit (Sam & Codex) 2026-06-15 09:10:52 +02:00
stage-zot-iso.sh feat(iso): stage zot agent (pinned) + populate ZOT_HOME/auth.json (Sam & Claude) 2026-06-13 10:33:37 +02:00
test-release-gate.sh fix(build): repair + harden the release gate (Sam & Claude) 2026-06-15 16:56:55 +02:00
write-artifact-manifest.sh docs/skills: switch published image + flashing from .gz to .xz 2026-06-14 12:04:56 +02:00