-
Notifications
You must be signed in to change notification settings - Fork 409
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #626 from rustwasm/release
doc(release): add release checklist
- Loading branch information
Showing
1 changed file
with
38 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,38 @@ | ||
# Release Checklist | ||
|
||
This is a list of the things that need to happen during a release. | ||
|
||
1. Open the associated milestone. All issues and PRs should be closed. If | ||
they are not you should reassign all open issues and PRs to future | ||
milestones. | ||
1. Go through the commit history since last release. Ensure that all PRs | ||
that have landed are marked with the milestone. You can use this to | ||
show all the PRs that are merged on or after YYY-MM-DD: | ||
`https://github.com/issues?utf8=%E2%9C%93&q=repo%3Arustwasm%2Fwasm-pack+merged%3A%3E%3DYYYY-MM-DD` | ||
1. Go through the closed PRs in the milestone. Each should have a changelog | ||
label indicating if the change is docs, fix, feature, or maintenance. If | ||
there is a missing label, please add one. | ||
1. Choose an emoji for the release. Try to make it some sort of transition | ||
from the previous releases emoji (point releases can be a little weirder). | ||
1. Create a new branch "#.#.#" where "#.#.#" is the release's version. | ||
1. Add this release to the `CHANGELOG.md`. Use the structure of previous | ||
entries. | ||
1. Update the version in `Cargo.toml`. | ||
1. Update the version number and date in `docs/index.html`. | ||
1. Run `cargo update`. | ||
1. Run `cargo test`. | ||
1. Run `cargo build`. | ||
1. Push up a commit with the `Cargo.toml`, `Cargo.lock`, `docs/index.html`, | ||
and `CHANGELOG.md` changes. The commit message can just be "#.#.#". | ||
1. Request review from `@ashleygwilliams` and `@drager`. | ||
1. `git commit --amend` all changes into the single commit. | ||
1. Once ready to merge, tag the commit with the tag `v#.#.#`. | ||
1. Wait for the CI to go green. | ||
1. The CI will build the release binaries. Take the `CHANGELOG.md` release | ||
entry and cut and paste it into the release body. | ||
1. Be sure to add any missing link definitions to the release. | ||
1. Hit the big green Merge button. | ||
1. `git checkout master` and `git pull --rebase origin master` | ||
1. Run `cargo test`. | ||
1. `cargo publish` | ||
1. Tweet. |