To make a new release of RLST, follow the following steps:
-
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 -
Checkout the branch
release
and merge the branchmain
into the branchrelease
:git checkout release git merge main
-
Update the version numbers in
Cargo.toml
andproc-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]
. -
Commit your changes and push to GitHub, and check that all the tests on CI pass.
-
If
proc-macro
has changed, in theproc-macro
folder:-
Run
cargo publish --dry-run
, then runcargo 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 usecargo yank
to mark a version as unsuitable for use.
-
-
(Move back to the main rlst folder.) In
Cargo.toml
, update therlst-proc-macro
dependency toversion = "[x].[y].[z]
. Push the chages. -
Create a release on GitHub from the
release
branch. The release tag and title should bev[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. -
In the main rlst folder:
-
Run
cargo publish --dry-run
, then runcargo 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 usecargo yank
to mark a version as unsuitable for use.
-
-
Open a pull request to
main
to update the version numbers inCargo.toml
andproc-macro/Cargo.toml
to[x].[y].[z]-dev