diff options
author | Daniel Silverstone <dsilvers@digital-scurf.org> | 2021-06-12 16:15:35 +0100 |
---|---|---|
committer | Daniel Silverstone <dsilvers@digital-scurf.org> | 2021-06-12 16:15:35 +0100 |
commit | 69832859de8952ee1dfd4245531f28997f7dfa94 (patch) | |
tree | 04d97bad287421338a4c7e65264c241883398858 /RELEASE.md | |
parent | 43b95807dc971c6eb7dcb10580dac18e922d2042 (diff) | |
download | subplot-69832859de8952ee1dfd4245531f28997f7dfa94.tar.gz |
chore: Add basic release and news files
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
Diffstat (limited to 'RELEASE.md')
-rw-r--r-- | RELEASE.md | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/RELEASE.md b/RELEASE.md new file mode 100644 index 0000000..f17623a --- /dev/null +++ b/RELEASE.md @@ -0,0 +1,42 @@ +--- +title: Release process for Subplot +... + +The subplot project consists of serveral crates, any step which refers to the +`Cargo.toml` or `Cargo.lock` files should be repeated for all crates. Currently +the set of crates to consider for release is: + +- `subplotlib-derive` +- `subplotlib` +- `subplot` + +When determining if a new version of a crate is required, use `git log` with +appropriate filters. + +Before any release of Subplot, it is appropriate to ensure that versions of +dependencies have been updated where needed. You may want to do this on a +different branch, or as part of the release branch. + +Follow these steps to make a release of Subplot + +1. Create a branch on which to do the release (e.g. call it `release`) +2. Ensure dependencies are up-to-date, for example, `cargo update` and its + associated tool `cargo outdated` will be of help. +3. Update `NEWS.md` as appropriate +4. Update the version numbers everywhere they need to be updated. Use + [semantic versioning](https://semver.org/) appropriately. You may use + the [bumper](https://bumper.liw.fi/) tool to do this. + - `NEWS.md` + - `Cargo.toml` + - `debian/changelog` +5. Ensure everything is appropriately committed with good messages. +6. Run `cargo publish --dry-run` for each crate as needed, to ensure that + we will be okay to publish the crates later. +7. Push the branch to Gitlab and create the merge request. +8. Have someone review, approve (assuming green CI), and merge the release + branch. +9. Create a signed, annotated, Git tag `vX.Y.Z` for version `X.Y.Z` of Subplot. +10. Push the tag to Gitlab and to `git.liw.fi` +11. Publish any changed crates to `crates.io` with `cargo publish` in the + relevant directories. +12. Announce our jubilation to the world. |