You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* a new [crate version](https://crates.io/crates/flate2/versions)
9
16
10
-
#### Process
17
+
#### Process: Plain `cargo publish`
11
18
12
19
To generate all the artifacts above, one proceeds as follows:
13
20
@@ -19,3 +26,20 @@ To generate all the artifacts above, one proceeds as follows:
19
26
6.`git push --tags` to push the new tag.
20
27
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.
21
28
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.
0 commit comments