docs(history): record two-phase release workflow port

This commit is contained in:
Sebastien 2026-07-17 08:48:35 +02:00
parent ffb04071e0
commit 3bcab1c441

View file

@ -0,0 +1,5 @@
# 2026-07-17
## Release workflow: two-phase design so attestations bind to the tag commit
Ported the fixed `release.yml` from obsidian-remarkable-sync (verbatim copy). The old shared workflow built and attested artifacts at the triggering commit, then created the version-bump commit and tag — so build-provenance attestations were bound to a different commit than the release tag, and the community-catalog review rejected releases ("attestation failed cryptographic verification"). The new workflow has a "prepare" job (dispatch on a branch: bump/changelog/commit/tag behind a `bun run build` + `bun test` gate, then re-dispatch at the tag with `publish=true`) and a "publish" job (dispatch-at-tag or bare tag push: build, attest without `continue-on-error`, create release at `github.sha` == tag commit). Design proven live on remarkable-sync 1.5.0. `scripts/release.sh` messaging updated to match; `bun test` kept in the gate (85 tests pass) and `docs/release-notes.md` kept in the release commit (generated by `scripts/generate-changelog.ts`).