Files
pezframe-metadata/RELEASING.md
T
David d241ab9c1b Release v15.0.0 (#36)
* Release v14.3.0

* Add a release checklist

* Edition 2021

* Update CHANGELOG

* Update CHANGELOG.md

Co-authored-by: Andronik <write@reusable.software>

* It's a breaking change: 15.0.0

Co-authored-by: Andronik <write@reusable.software>
2022-02-08 18:21:15 +00:00

60 lines
2.4 KiB
Markdown

# Release Checklist
These steps assume that you've checked out the `frame-metadata` repository and are in the root directory of it.
We also assume that ongoing work done is being merged directly to the `main` branch.
1. Ensure that everything you'd like to see released is on the `main` branch.
2. Create a release branch off `main`, for example `release-v14.3.0`. Decide how far the version needs to be bumped based
on the changes to date. If unsure what to bump the version to (e.g. is it a major, minor or patch release), check with the
Parity Tools team.
3. Check that you're happy with the current documentation.
```bash
cargo doc --open --all-features
```
Optionally you can also confirm that any external links
are still valid like so:
```bash
cargo install cargo-deadlinks
cargo deadlinks --check-http -- --all-features
```
If there are minor issues with the documentation, they can be fixed in the release branch.
4. Bump the crate version in `frame-metadata/Cargo.toml` to whatever was decided in step 2.
5. Update `CHANGELOG.md` to reflect the difference between this release and the last. If you're unsure of
what to add, check with the Tools team. See the `CHANGELOG.md` file for details of the format it follows.
Any [closed PRs](https://github.com/paritytech/frame-metadata/pulls?q=is%3Apr+sort%3Aupdated-desc+is%3Aclosed) between the last release and
this release branch should be noted.
6. Commit any of the above changes to the release branch and open a PR in GitHub with a base of `main`.
7. Once the branch has been reviewed and passes CI, merge it.
8. Now, we're ready to publish the release to crates.io.
Checkout `main`, ensuring we're looking at that latest merge (`git pull`).
```bash
cd frame-metadata && cargo publish
```
9. If the release was successful, tag the commit that we released in the `main` branch with the
version that we just released, for example:
```bash
git tag -s v14.3.0 # use the version number you've just published to crates.io, not this one
git push --tags
```
Once this is pushed, go along to [the releases page on GitHub](https://github.com/paritytech/frame-metadata/releases)
and draft a new release which points to the tag you just pushed to `main` above. Copy the changelog comments
for the current release into the release description.