• v0.2.1 e6e156052a

    Release v0.2.1
    Some checks failed
    manifest-check / manifest-vs-tag consistency (pull_request) Successful in 5s
    manifest-check / check (pull_request) Successful in 0s
    release-draft / create Forgejo draft release (pull_request) Failing after 4s
    release-draft / draft (pull_request) Failing after 0s
    Stable

    quartermaster released this 2026-06-24 19:15:18 +02:00 | 1488 commits to main since this release

    Fixed

    • Sudo-aware install-deps step in _release-prep.yml + _release-draft.yml + _manifest-check.yml. v0.2.0 hard-coded sudo apt-get install for the yq/jq/curl fallback, which failed opaquely with sudo: command not found on minimal root-only CI images (a common shape: Debian-derived images that run as root with no sudo package installed). v0.2.1 replaces the bare sudo calls with a 3-shape handler: (1) if EUID=0, apt-get directly; (2) else if sudo is on PATH, sudo apt-get; (3) else fail loud with ::error:: annotations naming the missing tools + actionable remedies ("pre-bake into your runner image, run as root, or install sudo"). _release-publish.yml is unchanged — it has no install-deps step (pure tag-format validation). Closes #10.

    • list_fragments warns on unrecognized basenames instead of silently skipping. v0.2.0 dropped fragments named <id>.<kind>.<suffix>.md (e.g., 3.fixed-2.md) without any signal — the parser extracts the LAST dot-segment as kind (fixed-2), which isn't a recognized kind, and the file was treated as "not a fragment" and quietly excluded from the cut. This was caught manually during the v0.2.0 release when a file-count probe surfaced a missing fragment. v0.2.1 emits warning: <path> does not match \..md` (unknown kind in basename) — skippingto stderr so the operator sees the dropped file before the cut consumes the workspace. A smarter parser that accepts...md` shapes is deferred to v0.3 (release-toolkit#9 disposition B). Closes #9.

    Internal

    • Toolkit's own consumer-shape workflows (release.yml + release-draft.yml + manifest-check.yml) added in v0.2.0 so the toolkit cuts itself through its own machinery from v0.2.1+ (closes the bootstrap chicken-and-egg). v0.2.1 is the first cut produced via this path: operator dispatches release.yml → reusable _release-prep.yml@v0.2.0 → release-prep.sh runs → prep PR opens autonomously. No external-consumer surface change; internal substrate-of-record only.
    Downloads