Problem
release.yml triggers on push: [main], versions builds as 0.0.<run_number>, and publishes automatically. There is no human promotion decision, no pinned commit, no requirement that CI succeeded for the released SHA, and run-number versioning cannot express SemVer or hotfixes. Concretely: merging the Alpha 4 release PR (#229) would itself auto-publish a release before validation.
Proposal
- Releases run only from
v*.*.* tags or a manual workflow_dispatch with an explicit ref and version.
- A promotion job verifies the ref is on
main, the version is valid SemVer, and a successful CI run exists for the exact SHA.
- All build jobs check out that pinned SHA.
- Release-time tests and asset smoke checks run before publishing.
Release blocker for Alpha 4 (#307): "explicit release promotion."
Problem
release.ymltriggers onpush: [main], versions builds as0.0.<run_number>, and publishes automatically. There is no human promotion decision, no pinned commit, no requirement that CI succeeded for the released SHA, and run-number versioning cannot express SemVer or hotfixes. Concretely: merging the Alpha 4 release PR (#229) would itself auto-publish a release before validation.Proposal
v*.*.*tags or a manualworkflow_dispatchwith an explicit ref and version.main, the version is valid SemVer, and a successful CI run exists for the exact SHA.Release blocker for Alpha 4 (#307): "explicit release promotion."