From b58db7f3c03167eff55bc38d8ce628cec65b0057 Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Mon, 17 Jul 2023 08:26:10 +0200 Subject: [PATCH] Add MAINTENANCE.md This document describes common workflows which should help current and new maintainers alike. --- MAINTENANCE.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 MAINTENANCE.md diff --git a/MAINTENANCE.md b/MAINTENANCE.md new file mode 100644 index 00000000..af770344 --- /dev/null +++ b/MAINTENANCE.md @@ -0,0 +1,21 @@ +This document explains how to perform the project's maintenance tasks. + +### Creating a new release + +#### Artifacts + +* a tag of the version number +* a new [crate version](https://crates.io/crates/flate2/versions) + +#### Process + +To generated all the artifacts above, one proceeds as follows: + +1. `git checkout -b release-` - move to a branch to prepare making changes to the repository. *Changes cannot be made to `main` as it is protected.* +2. Edit `Cargo.toml` to the next package version. +3. `gh pr create` to create a new PR for the current branch and **get it merged**. +4. `cargo publish` to create a new release on `crates.io`. +5. `git tag ` to remember the commit. +6. `git push --tags` to push the new tag. +7. Go to the newly created release page on GitHub and edit it by pressing the "Generate Release Notes" and the `@` button. Save the release. +