summaryrefslogtreecommitdiff
path: root/RELEASE_PROCEDURE.md
diff options
context:
space:
mode:
Diffstat (limited to 'RELEASE_PROCEDURE.md')
-rw-r--r--RELEASE_PROCEDURE.md29
1 files changed, 26 insertions, 3 deletions
diff --git a/RELEASE_PROCEDURE.md b/RELEASE_PROCEDURE.md
index 2613ce5a..14496f23 100644
--- a/RELEASE_PROCEDURE.md
+++ b/RELEASE_PROCEDURE.md
@@ -3,16 +3,39 @@ library.
# Before Release
-The release is prepared by a commit with the following changes.
+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.
-- In CHANGELOG.md, rename the Unreleased section to the new version followed by
- the date of the release.
+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 a commit with the following changes is added to the master
branch.
- Add a new Unreleased section header to CHANGELOG.md.
+- In `Cargo.toml`, update the version to the next `-dev` version, e.g.
+ `v0.8.4-dev`.
+- In `Cargo.tml`, revert the libc dependency to its git master branch.
+- Commit with a message like "Bump to v0.8.4-dev"
+- Make a pull request.