-
Notifications
You must be signed in to change notification settings - Fork 59
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
26 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
# Making a rustls-native-certs release | ||
|
||
This is a checklist for steps to make before/after making a rustls release. | ||
|
||
1. Attend to the README.md: this appears on crates.io for the release, and can't be edited after | ||
the fact. | ||
- Ensure the version has a good set of release notes. Move old release notes to OLDCHANGES.md | ||
if this is getting excessively long. | ||
- Write the version and date of the release. | ||
2. Run `cargo update` followed by `cargo outdated`, to check if we have any | ||
dependency updates which are not already automatically taken by their semver specs. | ||
- If we do, take them if possible with separate commits (but there should've been | ||
dependabot PRs submitted for these already.) | ||
3. Now run `cargo test --all-features` to ensure our tests continue to pass with the | ||
updated dependencies. | ||
4. Update `Cargo.toml` to set the correct version. | ||
5. Make a commit with the above changes, something like 'Prepare $VERSION'. This | ||
should not contain functional changes: just versions numbers, and markdown changes. | ||
6. Do a dry run: check `cargo publish --dry-run` | ||
7. Push the above commit. Wait for CI to confirm it as green. | ||
- Any red _should_ naturally block the release. | ||
- If rustc nightly is broken, this _may_ be acceptable if the reason is understood | ||
and does not point to a defect. | ||
8. Tag the released version: `git tag -m '0.20.0' v/0.20.0` | ||
9. Push the tag: `git push --tags` | ||
10. Do the release: `cargo publish`. |