To make a new release of bempp, 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
main
branch andgit pull
, then checkout a new branch calledrelease-v[x].[y].[z]
(where[x]
,[y]
, and[z]
are defined in the next step):git checkout main git pull git checkout -b release-v[x].[y].[z]
-
Update the version numbers in
Cargo.toml
andpyproject.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]
. -
Update the version number in the "Using bempp" section of README.md.
-
Commit your changes and push to GitHub. Wait to see if the CI tests pass.
-
Create a release on GitHub from the
main
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. -
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
andpyproject.toml
to[x].[y].[z]-dev
-
Add the release to the next issue of Scientific Computing in Rust Monthly