Skip to content

Commit

Permalink
Add a draft for a maintenance guide.
Browse files Browse the repository at this point in the history
Right now it's nothing more than a guess.
  • Loading branch information
Byron committed May 25, 2023
1 parent e9b3d58 commit 855b62d
Showing 1 changed file with 28 additions and 0 deletions.
28 changes: 28 additions & 0 deletions MAINTENANCE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
This document explains how to perform the project's maintenance tasks.

### Creating a new release

#### Artifacts

* a tag of the version number
* an updated `CHANGELOG.md` with the latest version
* 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-<next-version>` - 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. `cargo changelog --write` to update the `CHANGELOG.md` file with all changes from the git history. Note that it extracts only.
[conventional commit messages](https://keepachangelog.com/en/1.0.0/).
*Adjust the version headline to the next package version from `Unreleased`*.
*Copy the [GitHub release notes](https://github.com/rust-lang/flate2-rs/releases) from the previous release
into the previous release section in the changelog file and adjust its headings to triple `#` to fit in*.
4. Commit all changes.
5. `gh pr create` to create a new PR for the current branch and get it merged.
6. `cargo publish` to create a new release on `crates.io`.
7. `git tag <next-version>` to remember the commit.
8. `git push --tags` to push all changes to the branch.
9. Go to the newly created release page on GitHub and edit it by pressing the "Generate Release Notes" and the `@` button.

0 comments on commit 855b62d

Please sign in to comment.