From 67c8b9ee6d233ab4b2f8a407d21fcbaae1484184 Mon Sep 17 00:00:00 2001 From: Sam & Claude Date: Mon, 22 Jun 2026 06:27:38 +0200 Subject: [PATCH] docs: sync release runbook to 0.11.0 / zot v0.2.42 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit build.cfg already targets ISO_VERSION 0.11.0; the runbook still said 0.10.0. Scoped to the release-cutting doc only — download-URL docs (FLASHING/README/ TESTING) stay at 0.10.0 until 0.11.0 is actually published, and CHANGELOG history is untouched. Co-Authored-By: Claude Opus 4.8 --- docs/RELEASE-BUILD-RUNBOOK.md | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/docs/RELEASE-BUILD-RUNBOOK.md b/docs/RELEASE-BUILD-RUNBOOK.md index 869ea1b3..bddc51e9 100644 --- a/docs/RELEASE-BUILD-RUNBOOK.md +++ b/docs/RELEASE-BUILD-RUNBOOK.md @@ -1,6 +1,6 @@ # Release Build Runbook -**Current target:** `0.10.0` ("Operator Image") · **Channel:** `release` +**Current target:** `0.11.0` ("Operator Image") · **Channel:** `release` How to cut a reproducible, publishable operator image from merged sources. This is the `BUILD_CHANNEL=release` path — distinct from the everyday @@ -20,11 +20,11 @@ use `BUILD_CHANNEL=dev` and skip the pinning discipline below. commits are then written to `build-manifest.json`, so the image can be rebuilt from that record. - **Own product version.** `ISO_VERSION` is an explicit product number - (`0.10.0`), not a component's. Component versions are provenance, not identity. + (`0.11.0`), not a component's. Component versions are provenance, not identity. - **Fits the stick.** The build aborts before shipping if the live filesystem has less than `IMAGE_MIN_FREE_MB` (default 1024) free. -Output: `tmp/output/clawdie-quindecim-0.10.0.img` (`quindecim` = FreeBSD 15). +Output: `tmp/output/clawdie-quindecim-0.11.0.img` (`quindecim` = FreeBSD 15). --- @@ -68,7 +68,7 @@ Any output from `status --porcelain` (modified _or_ untracked) will fail the release gate. Clean it before continuing — do not `.gitignore` your way past it. > `zot` ships at a pinned tag. Check out the tag you intend to release -> (`ZOT_VERSION`, default `v0.2.29`) so the recorded commit is the tag's commit. +> (`ZOT_VERSION`, default `v0.2.42`) so the recorded commit is the tag's commit. --- @@ -83,10 +83,10 @@ cargo clippy --workspace --all-targets -- -D warnings # zot agent binary (native FreeBSD build) cd ../zot -git checkout v0.2.29 # the release tag -ZOT_BUILD_VERSION="${ZOT_VERSION:-v0.2.29}" +git checkout v0.2.42 # the release tag +ZOT_BUILD_VERSION="${ZOT_VERSION:-v0.2.42}" VERSION="${ZOT_BUILD_VERSION#v}" make build -./bin/zot --version # expect: zot 0.2.29 +./bin/zot --version # expect: zot 0.2.42 cd ../clawdie-iso ``` @@ -115,11 +115,11 @@ ls -l ../colibri/target/release/colibri-daemon \ ```sh cd ../clawdie-iso -sudo env BUILD_CHANNEL=release ISO_VERSION=0.10.0 \ +sudo env BUILD_CHANNEL=release ISO_VERSION=0.11.0 \ ./build.sh --clawdie-ref main ``` -- `ISO_VERSION=0.10.0` — also the `build.cfg` default; an empty/`auto` value +- `ISO_VERSION=0.11.0` — also the `build.cfg` default; an empty/`auto` value fails fast. - `--clawdie-ref main` bundles current `clawdie-ai` main (its commit is recorded as provenance). Use `--clawdie-version X.Y.Z` instead to pin a clawdie-ai tag. @@ -129,13 +129,13 @@ sudo env BUILD_CHANNEL=release ISO_VERSION=0.10.0 \ What you should see, in order: -1. **Banner** — `ISO : 0.10.0-release (zot v0.2.29)`. +1. **Banner** — `ISO : 0.11.0-release (zot v0.2.42)`. 2. **Release gate** — silent on success; on failure it lists each modified repo and exits. (Fix the tree; don't switch to `dev` for a real release.) 3. **Preflight** — confirms the colibri binaries and `zot/bin/zot` exist. 4. **Image space report** — `df`/`du` of the live filesystem, then `Free space OK (… MB, floor 1024 MB)` — or an abort if it won't fit. -5. **Output** — `Done : tmp/output/clawdie-quindecim-0.10.0.img`. +5. **Output** — `Done : tmp/output/clawdie-quindecim-0.11.0.img`. --- @@ -147,7 +147,7 @@ cat tmp/output/build-manifest.json # or USB_SHARE copy Confirm: -- `"iso_version": "0.10.0"`, `"version_scheme": "product"`, +- `"iso_version": "0.11.0"`, `"version_scheme": "product"`, `"build_channel": "release"`. - `zot_commit`, `colibri_commit`, `clawdie_ai_commit`, `iso_repo_commit` are all real SHAs (not `unknown`). @@ -184,7 +184,7 @@ If anything fails out of the box, this is not the cut — fix, rebuild, and the Follow `skills/iso-publish/SKILL.md`: compress to `.xz`, write the `.sha256`, and the publish manifest, then `scripts/publish.sh` to the CMS downloads jail. `FLASHING.md` is the operator-facing flashing guide (already references the -`0.10.0` artifact name). +`0.11.0` artifact name). --- @@ -192,7 +192,7 @@ the publish manifest, then `scripts/publish.sh` to the CMS downloads jail. - [ ] All four repos clean (`git status --porcelain` empty) and on the release ref. - [ ] `cargo test --workspace` + `cargo clippy -D warnings` green on colibri. -- [ ] `BUILD_CHANNEL=release ISO_VERSION=0.10.0 ./build.sh` completes; gate passed, +- [ ] `BUILD_CHANNEL=release ISO_VERSION=0.11.0 ./build.sh` completes; gate passed, preflight passed, free-space check passed. - [ ] `build-manifest.json`: channel `release`, all commits real, all `*_modified` `false`.