Skip to content

Commit 0fcfe08

Browse files
committed
update maintenance guide with recent news
1 parent 01c3f03 commit 0fcfe08

File tree

1 file changed

+25
-1
lines changed

1 file changed

+25
-1
lines changed

MAINTENANCE.md

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,20 @@
11
This document explains how to perform the project's maintenance tasks.
22

3+
### Repository Configuration
4+
5+
Settings can be changed here by means of a PR - depending on what it is a conversation about pro's and cons might be needed.
6+
7+
https://github.com/rust-lang/team/blob/master/repos/rust-lang/flate2-rs.toml
8+
9+
310
### Creating a new release
411

512
#### Artifacts
613

714
* a tag of the version number
815
* a new [crate version](https://crates.io/crates/flate2/versions)
916

10-
#### Process
17+
#### Process: Plain `cargo publish`
1118

1219
To generate all the artifacts above, one proceeds as follows:
1320

@@ -19,3 +26,20 @@ To generate all the artifacts above, one proceeds as follows:
1926
6. `git push --tags` to push the new tag.
2027
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.
2128

29+
#### Alternative Process: `cargo smart-release`
30+
31+
This also maintains the `changelog.md` file, and it's able to pick up previous `cargo publish` releases and thus mixes well.
32+
However, it's quite new and needs some polishing.
33+
34+
To just update the changelog, run `cargo changelog --write`.
35+
36+
To create a new release, do as follows:
37+
38+
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.*
39+
2. `cargo changelog --write` to update the changelog. Edit it to your liking.
40+
3. Create a commit like `git commit -am "update changelog prior to release"`
41+
4. `cargo smart-release -e --update-crates-index` - double-check that the release version is sensible, and if not, just edit `Cargo.toml` by hand before.
42+
5. Tags were created, and they should be pushed, but it might be that it fails to create a GitHub release.
43+
6. Create an additional release tag with the `v` removed, i.e. `git tag -s <version> v<version>`. Then `git push --tags` by hand.
44+
7. Double-check the newly created release on GitHub is populated - if not, generate the changelog manually.
45+

0 commit comments

Comments
 (0)