Skip to content

Latest commit

 

History

History
47 lines (35 loc) · 1.45 KB

RELEASING.md

File metadata and controls

47 lines (35 loc) · 1.45 KB

Releasing and publishing the SDK

While the release process can be handled manually, cargo-release has been configured to make it more convenient.

By default, cargo-release assumes that no pull request is required to cut a release. However, since the SDK repo is set up so that each push requires a pull request, we need to slightly deviate from the default workflow. A cargo-xtask has been created to make the process as smooth as possible.

The procedure is as follows:

  1. Switch to a release branch:
git switch -c release-x.y.z
  ```

2. Prepare the release. This will update the `README.md`, prepend the `CHANGELOG.md`
 file using `git cliff`, and bump the version in the `Cargo.toml` file.

```bash
cargo xtask release prepare --execute minor|patch|rc
  1. Double-check and edit the CHANGELOG.md and README.md if necessary. Once you are satisfied, push the branch and open a PR.
git push --set-upstream origin/release-x.y.z
  1. Pass the review and merge the branch as you would with any other branch.

  2. Create tags for your new release, publish the release on crates.io and push the tags:

# Switch to main first.
git switch main
# Pull in the now-merged release commit(s).
git pull
# Create tags, publish the release on crates.io, and push the tags.
cargo xtask release publish --execute

For more information on cargo-release: https://github.com/crate-ci/cargo-release