docs: sync release runbook to 0.11.0 / zot v0.2.42
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 <noreply@anthropic.com>
This commit is contained in:
parent
ec89eb58bd
commit
67c8b9ee6d
1 changed files with 14 additions and 14 deletions
|
|
@ -1,6 +1,6 @@
|
||||||
# Release Build Runbook
|
# 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
|
How to cut a reproducible, publishable operator image from merged sources. This
|
||||||
is the `BUILD_CHANNEL=release` path — distinct from the everyday
|
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
|
commits are then written to `build-manifest.json`, so the image can be rebuilt
|
||||||
from that record.
|
from that record.
|
||||||
- **Own product version.** `ISO_VERSION` is an explicit product number
|
- **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
|
- **Fits the stick.** The build aborts before shipping if the live filesystem
|
||||||
has less than `IMAGE_MIN_FREE_MB` (default 1024) free.
|
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.
|
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` 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)
|
# zot agent binary (native FreeBSD build)
|
||||||
cd ../zot
|
cd ../zot
|
||||||
git checkout v0.2.29 # the release tag
|
git checkout v0.2.42 # the release tag
|
||||||
ZOT_BUILD_VERSION="${ZOT_VERSION:-v0.2.29}"
|
ZOT_BUILD_VERSION="${ZOT_VERSION:-v0.2.42}"
|
||||||
VERSION="${ZOT_BUILD_VERSION#v}" make build
|
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
|
cd ../clawdie-iso
|
||||||
```
|
```
|
||||||
|
|
@ -115,11 +115,11 @@ ls -l ../colibri/target/release/colibri-daemon \
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
cd ../clawdie-iso
|
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
|
./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.
|
fails fast.
|
||||||
- `--clawdie-ref main` bundles current `clawdie-ai` main (its commit is recorded
|
- `--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.
|
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:
|
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
|
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.)
|
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.
|
3. **Preflight** — confirms the colibri binaries and `zot/bin/zot` exist.
|
||||||
4. **Image space report** — `df`/`du` of the live filesystem, then
|
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.
|
`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:
|
Confirm:
|
||||||
|
|
||||||
- `"iso_version": "0.10.0"`, `"version_scheme": "product"`,
|
- `"iso_version": "0.11.0"`, `"version_scheme": "product"`,
|
||||||
`"build_channel": "release"`.
|
`"build_channel": "release"`.
|
||||||
- `zot_commit`, `colibri_commit`, `clawdie_ai_commit`, `iso_repo_commit` are all
|
- `zot_commit`, `colibri_commit`, `clawdie_ai_commit`, `iso_repo_commit` are all
|
||||||
real SHAs (not `unknown`).
|
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
|
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.
|
the publish manifest, then `scripts/publish.sh` to the CMS downloads jail.
|
||||||
`FLASHING.md` is the operator-facing flashing guide (already references the
|
`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.
|
- [ ] All four repos clean (`git status --porcelain` empty) and on the release ref.
|
||||||
- [ ] `cargo test --workspace` + `cargo clippy -D warnings` green on colibri.
|
- [ ] `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.
|
preflight passed, free-space check passed.
|
||||||
- [ ] `build-manifest.json`: channel `release`, all commits real, all
|
- [ ] `build-manifest.json`: channel `release`, all commits real, all
|
||||||
`*_modified` `false`.
|
`*_modified` `false`.
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue