feat(release): onbewaakt release-script met één wachtwoord (#1161) #1239

Merged
brenno merged 1 commit from feat/release-auto into main 2026-08-04 21:12:07 +00:00
Owner

Sluit #1161 af — de onbewaakte automatiseringsslag boven de geleide scripts/release.sh (iteratie 1, PR #1205, liet fase 2-3 bewust open).

scripts/release_auto.sh: na één menukeuze (SemVer patch/minor/major — strikte 3-delige SemVer, geen 4e cijfer) en één minisign-wachtwoordprompt draait de hele keten onbewaakt:

  • Fase 1 verouderingsgate (catalogs-outdated + check-pins → stop-met-melding), vier-plek-versiebump, make sbom, make check-release, make build-release, make notarize-macos, zegelverificatie, /Applications-vervanging.
  • Fase 2 PR → poort groen → merge → tag → push origin+mirror → release-CI per minuut volgen.
  • Fase 3 SHA256SUMS tekenen (minisign via expect, wachtwoord alleen in geheugen) + aanhangen, website-job bewaken, make deploy-web.

Fail-safe: set -Eeuo pipefail + ERR-trap noemt de gefaalde stap/regel én of de tag al gepusht was (vóór = branch opruimen; ná = volgende patch-tag, nooit her-taggen).

Toetsbaar: --dry-run (plan + gate, muteert niets), --print-version LEVEL (hermetische guard-rekenkunde), gedekt door test/release_auto_version_test.dart tegen de canonieke legalNextVersions-regel. Shellcheck-schoon. Gedocumenteerd in docs/BUILD.md § Cutting a release.

Acceptatiecriteria #1161: één commando fase 1→2→3; monotone guard (via het menu + check-version-bump); verouderingschecks vooraan met gecontroleerd stoppen; versie op alle vier de plekken + check-release vóór de tag; macOS lokaal tekenen/notariseren + /Applications; tag → forge+mirror + CI per minuut; verspreiding pas ná groene CI (minisign, website-bewaking, web live); docs + een test die de guard dekt.

closes #1161

🤖 Generated with Claude Code

Sluit **#1161** af — de onbewaakte automatiseringsslag boven de geleide `scripts/release.sh` (iteratie 1, PR #1205, liet fase 2-3 bewust open). `scripts/release_auto.sh`: na één menukeuze (SemVer patch/minor/major — strikte 3-delige SemVer, geen 4e cijfer) en één minisign-wachtwoordprompt draait de hele keten onbewaakt: - **Fase 1** verouderingsgate (catalogs-outdated + check-pins → stop-met-melding), vier-plek-versiebump, `make sbom`, `make check-release`, `make build-release`, `make notarize-macos`, zegelverificatie, `/Applications`-vervanging. - **Fase 2** PR → poort groen → merge → tag → push origin+mirror → release-CI per minuut volgen. - **Fase 3** `SHA256SUMS` tekenen (minisign via expect, wachtwoord alleen in geheugen) + aanhangen, website-job bewaken, `make deploy-web`. **Fail-safe:** `set -Eeuo pipefail` + ERR-trap noemt de gefaalde stap/regel én of de tag al gepusht was (vóór = branch opruimen; ná = volgende patch-tag, nooit her-taggen). **Toetsbaar:** `--dry-run` (plan + gate, muteert niets), `--print-version LEVEL` (hermetische guard-rekenkunde), gedekt door `test/release_auto_version_test.dart` tegen de canonieke `legalNextVersions`-regel. Shellcheck-schoon. Gedocumenteerd in `docs/BUILD.md` § Cutting a release. Acceptatiecriteria #1161: één commando fase 1→2→3; monotone guard (via het menu + check-version-bump); verouderingschecks vooraan met gecontroleerd stoppen; versie op alle vier de plekken + check-release vóór de tag; macOS lokaal tekenen/notariseren + /Applications; tag → forge+mirror + CI per minuut; verspreiding pas ná groene CI (minisign, website-bewaking, web live); docs + een test die de guard dekt. closes #1161 🤖 Generated with [Claude Code](https://claude.com/claude-code)
brenno force-pushed feat/release-auto from 99994607f2
All checks were successful
scans / scans (pull_request) Successful in 2m18s
static-gate / static-gate (pull_request) Successful in 4m47s
to 6644d00128
All checks were successful
scans / scans (pull_request) Successful in 2m16s
static-gate / static-gate (pull_request) Successful in 5m20s
2026-08-04 21:06:21 +00:00
Compare
brenno merged commit 056c95f77d into main 2026-08-04 21:12:07 +00:00
brenno deleted branch feat/release-auto 2026-08-04 21:12:08 +00:00
Sign in to join this conversation.
No description provided.