|
| 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