Skip to content

Latest commit

 

History

History
54 lines (38 loc) · 2.49 KB

RELEASE.md

File metadata and controls

54 lines (38 loc) · 2.49 KB

Making a release

To make a new release of bempp, 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 main branch and git pull, then checkout a new branch called release-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]
  3. Update the version numbers in Cargo.toml and c-api-tools-macros/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.

  5. Open a pull request and merge your changes in to main.

  6. Create a release on GitHub from the main 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.

  7. In the folder c-api-tools-macros:

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

6b) 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.

  1. In the root folder:

7a) Update the c-api-tools-macros dependency in Cargo.toml to { version = "[x].[y].[z]" }.

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

7c) 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.

  1. Open a pull request to main to update the version numbers in Cargo.toml and c-api-tools-macros/Cargo.toml to [x].[y].[z]-dev, and to change the c-api-tools-macros dependency in Cargo.toml to { path = "c-api-tools-macros" }

  2. Add the release to the next issue of Scientific Computing in Rust Monthly