Skip to content

Commit 5e80437

Browse files
committed
Add release process documentation
Copied from rustls-native-certs.
1 parent b581b55 commit 5e80437

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

RELEASING.md

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Making a hyper-rustls release
2+
3+
This is a checklist for steps to make before/after making a rustls release.
4+
5+
1. Attend to the README.md: this appears on crates.io for the release, and can't be edited after
6+
the fact.
7+
- Ensure the version has a good set of release notes. Move old release notes to OLDCHANGES.md
8+
if this is getting excessively long.
9+
- Write the version and date of the release.
10+
2. Run `cargo update` followed by `cargo outdated`, to check if we have any
11+
dependency updates which are not already automatically taken by their semver specs.
12+
- If we do, take them if possible with separate commits (but there should've been
13+
dependabot PRs submitted for these already.)
14+
3. Now run `cargo test --all-features` to ensure our tests continue to pass with the
15+
updated dependencies.
16+
4. Update `Cargo.toml` to set the correct version.
17+
5. Make a commit with the above changes, something like 'Prepare $VERSION'. This
18+
should not contain functional changes: just versions numbers, and markdown changes.
19+
6. Do a dry run: check `cargo publish --dry-run`
20+
7. Push the above commit. Wait for CI to confirm it as green.
21+
- Any red _should_ naturally block the release.
22+
- If rustc nightly is broken, this _may_ be acceptable if the reason is understood
23+
and does not point to a defect.
24+
8. Tag the released version: `git tag -m '0.20.0' v/0.20.0`
25+
9. Push the tag: `git push --tags`
26+
10. Do the release: `cargo publish`.

0 commit comments

Comments
 (0)