1# Release Process 2 3This is intended to serve as documentation for Wasmtime's release process. It's 4largely an internal checklist for those of us performing a Wasmtime release, but 5others might be curious in this as well! 6 7To kick off the release process someone decides to do a release. Currently 8there's not a schedule for releases or something similar. Once the decision is 9made (there's also not really a body governing these decisions, it's more 10whimsical currently, or on request from others) then the following steps need to 11be executed to make the release: 12 131. `git pull` - make sure you've got the latest changes 141. Run `rustc scripts/publish.rs` 151. Run `./publish bump` 16 * Review and commit the changes 17 * Note that this bumps all cranelift/wasmtime versions as a major version bump 18 at this time. See the `bump_version` function in `publish.rs` to tweak this. 191. Make sure `RELEASES.md` is up-to-date, and fill it out if it doesn't have an 20 entry yet for the current release. 211. Send this version update as a PR to the `wasmtime` repository, wait for a merge 221. After merging, tag the merge as `vA.B.C` 231. Push the tag to the repository 24 * This will trigger the release CI which will create all release artifacts and 25 publish them to GitHub releases. 261. Run `./publish publish` 27 * This will fail on some crates, but that's expected. 28 * Keep running this script until all crates are published. Note that crates.io 29 won't let you publish something twice so rerunning is only for crates which 30 need the index to be udpated and if it hasn't yet. It's recommended to wait 31 a bit between runs of the script. 32 33And that's it, then you've done a Wasmtime release. 34