Skip to content

Latest commit

 

History

History
48 lines (35 loc) · 1.49 KB

RELEASING.md

File metadata and controls

48 lines (35 loc) · 1.49 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, set the versions in the CHANGELOG.md file, and bump the version in the Cargo.toml file.

    cargo xtask release prepare --execute minor|patch|rc
  3. 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
  4. Pass the review and merge the branch as you would with any other branch.

  5. 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