Publishing
このコンテンツはまだ日本語訳がありません。
How a release moves from dev to a tagged build on main. Maintainer-facing.
Branch flow
Section titled “Branch flow”dev is the integration branch; main holds stable, tagged releases only. Feature work merges into dev (see Developing → branching); a release is a single dev → main promotion.
Cutting a release
Section titled “Cutting a release”- Confirm
devis green. All CI checks passing, and the changelog-worthy PRs for this release are merged. - Open the release PR.
dev→main, titledrelease: v0.x.0. Merge it with a merge commit (not squash) so the history is preserved. - Tag
mainimmediately after the merge:Terminal window git checkout maingit pullgit tag v0.1.0git push origin v0.1.0 - Create the GitHub release:
Terminal window gh release create v0.1.0 --generate-notes.github/release.ymlcategorises the merged PRs into release-notes sections automatically, using the conventional-commit prefix on each PR title — which is why the prefix is enforced.
What we don’t do (yet)
Section titled “What we don’t do (yet)”- No MSRV policy. The workspace tracks Rust nightly for
edition = 2024and unstablerustfmtfeatures. An MSRV will be declared once the project stabilises on a stable compiler. - No backport branches. All fixes land on
devand ride the next release. A critical hotfix can be handled by cutting av0.xbranch retroactively if it ever becomes necessary.
