1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
This document lists the steps that lead to a successful release of the Nix
library.
# Before Release
Based on changes since the last release, pick a new version number
following semver conventions. For nix, a change that drops support for
some Rust versions counts as a breaking change, and requires a major bump.
The release is prepared as follows:
- Ask for a new libc version if, necessary. It usually is.
- Make a commit with a message like "Release v0.8.3" with the following
changes:
- In `CHANGELOG.md`, rename the Unreleased section to the new version
followed by the date of the release.
- In `Cargo.toml`, update the version to the new version.
- In `Cargo.toml`, change the libc dependency to the latest version.
- In `README.md`, update the version in the Usage section to the new
version.
- Make a pull request.
- Once the PR is merged, tag the merge commit, e.g. `git tag v0.8.3
$MERGE_COMMIT_SHA1`.
- Push the tag, e.g. `git push origin v0.8.3`.
# Create Release
- Checkout the tag.
- Publish to crates.io with `cargo publish`.
# After Release
After the release make a pull request with the following changes:
- Add a new Unreleased section header to `CHANGELOG.md`.
- In `Cargo.toml`, update the version to the nextversion, e.g.
`v0.8.4`.
- In `Cargo.toml`, revert the libc dependency to its git master branch.
- Make a commit of the above changes with a message like "[skip ci] Bump to v0.8.4"
- This skips continuous integration testing on the build bots and Travis CI
|