diff --git a/Cargo.toml b/Cargo.toml index b9ce19e..96f031d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,7 +5,7 @@ strict = [] [package] name = "c-api-tools" -version = "0.0.0-dev" +version = "0.1.0" edition = "2021" authors = [ "Timo Betcke ", @@ -25,7 +25,7 @@ crate-type = ["lib", "cdylib"] [dependencies] num = "0.4" -c-api-tools-macros = { path = "./c-api-tools-macros" } +c-api-tools-macros = { version = "0.1.0" } [build-dependencies] cbindgen = "0.27.0" diff --git a/RELEASE.md b/RELEASE.md new file mode 100644 index 0000000..b30ba54 --- /dev/null +++ b/RELEASE.md @@ -0,0 +1,54 @@ +# Making a release + +To make a new release of bempp, follow the following steps: + +0) 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 + +1) 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): + ```bash + git checkout main + git pull + git checkout -b release-v[x].[y].[z] + ``` + +2) 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]`. + +3) Commit your changes and push to GitHub. + +4) Open a pull request and merge your changes in to `main`. + +5) [Create a release on GitHub](https://github.com/bempp/c-api-tools/releases/new) 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. + +6) 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. + +7) 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. + +8) 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` + +9) Add the release to the next issue of [Scientific Computing in Rust Monthly](https://github.com/rust-scicomp/scientific-computing-in-rust-monthly) diff --git a/c-api-tools-macros/Cargo.toml b/c-api-tools-macros/Cargo.toml index 87149b3..14aab14 100644 --- a/c-api-tools-macros/Cargo.toml +++ b/c-api-tools-macros/Cargo.toml @@ -3,7 +3,7 @@ strict = [] [package] name = "c-api-tools-macros" -version = "0.0.0-dev" +version = "0.1.0" edition = "2021" authors = [ "Matthew Scroggs ", diff --git a/c-api-tools-macros/README.md b/c-api-tools-macros/README.md index 55a3943..805c3bf 100644 --- a/c-api-tools-macros/README.md +++ b/c-api-tools-macros/README.md @@ -1,3 +1,3 @@ -# ndelement-macros +# c-api-tools-macros -Macros for the `ndelement` crate. +Macros for the `c-api-tools` crate.