-
Notifications
You must be signed in to change notification settings - Fork 3
Creating Releases
Pete Hayes edited this page Feb 16, 2024
·
1 revision
Selium's current release process broadly follows two steps - stage all the changes to be released and stash them, then PR a new commit against the release
branch.
- Checkout
main
and fetch/rebase the latest upstream changes - Create a new branch for this update:
git checkout -b changes
- Find the earliest commit since the last release and inspect the diff:
git diff <last released commit>..HEAD
- Make note of the changes you wish to include in the relevant
CHANGELOG.md
- Bump the version number in the relevant
Cargo.toml
- Bump the Selium crate versions in downstream crates (e.g. if you bump the
protocol
crate, you’ll need to bump the dependency inclient
) - Run the full test pack to make sure everything is ok
- Reset the current branch to the last released commit, so that all of the commits to be released appear as uncommitted changes:
git reset --soft HEAD~<num commits>
- Stash these changes:
git stash
- Create a new branch for this release:
git checkout -b release-prep release
- Unstash your changes:
git stash pop
- Commit these changes using the commit message format: "Release -, …"
- Push the new branch to your fork:
git push --set-upstream origin release-prep
- Create a PR, remembering to set the base branch to
release
and notmain
Copyright © Selium Labs Pty Ltd 2024. Visit us at selium.com.