1.9 KiB
1.9 KiB
Releasing Process
We always have to start with current version x.y.0-snapshot (in all Cargo.toml).
CHANGELOG
- Add enhancement or Bug label to the issue
- Add target milestone to the issue
- Use a well formatted description on PR (starts with a verb)
- Add link(s) to the issue
Release steps
- Run
release.ymlworkflow onmasterbranch, it will:- Clean pending release
- Create new
release/x.y.0branch - Checkout this new branch
- Update all toml with
x.y.0 - Update all crate with
x.y.0 - Update man and docs with
x.y.0 - Generate CHANGELOG
- Commit all updates
- Create the
x.y.0tag - Create draft github release
x.y.0 - Create PR from
release/x.y.0tomaster
- You have to
/accept --releasethis PR, it will:- Merge fast-forward this PR
- Open a new one to update
masterfiles to next versionx.y+1.0-SNAPSHOT
Hotfix steps
- Create a new branch
release/x.y.zfrom desired tagx.y.0, for examplerelease/1.8.1from tag1.8.0 - Run
update-branch-version.ymlworkflow on the new branch filling version field withx.y.z-SNAPSHOT, for example1.8.1-SNAPSHOTforrelease/1.8.1branch - Run release.yml workflow on
release/x.y.zbranch, it will:- Clean pending release
- Checkout
release/x.y.zbranch - Update all toml with
x.y.z - Update all crate with
x.y.z - Update man and docs with
x.y.z - Generate CHANGELOG
- Commit all updates
- Create the
x.y.ztag - Create draft github release
x.y.z - Create PR from
release/x.y.ztomaster
- You have to manually
mergeas a revert rebase to reorder commits between this new hotfix and master - Run
update-branch-version.ymlworkflow onmasterto restore actual dev version tox.y+1.0-SNAPSHOT, for example from1.8.1to1.9.0-SNAPSHOT
Additional
- push package to chocolatey
- push package to winget
- push package to docker
- push package to brew
- push source packages to crates.io