Skip to content

Latest commit

 

History

History
51 lines (37 loc) · 2.21 KB

RELEASE.md

File metadata and controls

51 lines (37 loc) · 2.21 KB

Making an RLST release

To make a new release of RLST, follow the following steps:

  1. If you are yet to make a release on your current computer, run cargo login and copy an API key from https://crates.io/me

  2. Checkout the branch release and merge the branch main into the branch release:

    git checkout release
    git merge main
  3. Update the version numbers in Cargo.toml and proc-macro/Cargo.toml. The version numbers have the format [x].[y].[z]. If you are releasing a major version, you should increment [x] and set [y] and [z] to 0. If you are releasing a minor version, you should increment [y] and set [z] to zero. If you are releasing a bugfix, you should increment [z].

  4. Commit your changes and push to GitHub, and check that all the tests on CI pass.

  5. If proc-macro has changed, in the proc-macro folder:

    • Run cargo publish --dry-run, then run cargo package --list and check that no unwanted extras have been included in the release.

    • If everything is working as expected, run cargo publish. This will push the new version to crates.io. Note: this cannot be undone, but you can use cargo yank to mark a version as unsuitable for use.

  6. (Move back to the main rlst folder.) In Cargo.toml, update the rlst-proc-macro dependency to version = "[x].[y].[z]. Push the chages.

  7. Create a release on GitHub from the release branch. The release tag and title should be v[x].[y].[z] (where [x], [y] and [z] are as in step 2). In the "Describe this release" box, you should bullet point the main changes since the last release.

  8. In the main rlst folder:

    • Run cargo publish --dry-run, then run cargo package --list and check that no unwanted extras have been included in the release.

    • If everything is working as expected, run cargo publish. This will push the new version to crates.io. Note: this cannot be undone, but you can use cargo yank to mark a version as unsuitable for use.

  9. Open a pull request to main to update the version numbers in Cargo.toml and proc-macro/Cargo.toml to [x].[y].[z]-dev