This is intended to serve as documentation for Wasmtime's release process. It's largely an internal checklist for those of us performing a Wasmtime release, but others might be curious in this as well!
To kick off the release process someone decides to do a release. Currently there's not a schedule for releases or something similar. Once the decision is made (there's also not really a body governing these decisions, it's more whimsical currently, or on request from others) then the following steps need to be executed to make the release:
git pull- make sure you've got the latest changes
- Update the version numbers in
Cargo.tomlfor all crates
scripts/bump-wasmtime-version.sh, notable the
- Run the script
- Commit the changes
- Make sure
RELEASES.mdis up-to-date, and fill it out if it doesn't have an entry yet for the current release.
- Send this version update as a PR to the
wasmtimerepository, wait for a merge
- After merging, tag the merge as
- Push the tag to the repository
- This will trigger the release CI which will create all release artifacts and publish them to GitHub releases.
scripts/publish-wasmtime.shto publish all crates to crates.io
And that's it, then you've done a Wasmtime release.