Skip to content

Adjust Wasmtime's release process with RCs - #14051

Open
alexcrichton wants to merge 1 commit into
bytecodealliance:mainfrom
alexcrichton:new-release-process
Open

Adjust Wasmtime's release process with RCs#14051
alexcrichton wants to merge 1 commit into
bytecodealliance:mainfrom
alexcrichton:new-release-process

Conversation

@alexcrichton

Copy link
Copy Markdown
Member

This commit is an implementation of the changes described in #13622 for Wasmtime's release process. The intention here is to change Wasmtime's versioning scheme, publish release candidates to GitHub releases and crates.io, and additionally not increase the maintenance burden of doing any of this too much. Notably:

  • On main the version number will now always be X.0.0-dev
  • On creation of a release branch (5th of each month) one more PR will be created. The preexisting PR bumps from X.0.0-dev on main to (X+1).0.0-dev. The new PR bumps from X.0.0-dev to X.0.0-rc.1 on the release-X.0.0 branch. On merge the second PR will actually publish the rc.1 version.
  • A new manually triggered action argument is available to bump from X.0.0-rc.N to X.0.0-rc.(N+1) and publish that. This is intended to be manually used if necessary to test out fixes/releases/etc.
  • Upon publication all previous rc.N releases are yanked from crates.io. All rc.N releases are marked as "pre release" on GitHub. Our documentation says there's no support for these releases.

Effectively we'll have one extra PR to hit merge on, and additionally will have the ability to publish more RCs.

In implementing this I went ahead and migrated the scripts/publish.rs script to a proper Rust crate with dependencies at crates/misc/publish.

Closes #13622

This commit is an implementation of the changes described in bytecodealliance#13622 for
Wasmtime's release process. The intention here is to change Wasmtime's
versioning scheme, publish release candidates to GitHub releases and
crates.io, and additionally not increase the maintenance burden of doing
any of this too much. Notably:

* On `main` the version number will now always be `X.0.0-dev`
* On creation of a release branch (5th of each month) one more PR will
  be created. The preexisting PR bumps from `X.0.0-dev` on `main` to
  `(X+1).0.0-dev`. The new PR bumps from `X.0.0-dev` to `X.0.0-rc.1` on
  the `release-X.0.0` branch. On merge the second PR will actually
  publish the `rc.1` version.
* A new manually triggered action argument is available to bump from
  `X.0.0-rc.N` to `X.0.0-rc.(N+1)` and publish that. This is intended to
  be manually used if necessary to test out fixes/releases/etc.
* Upon publication all previous `rc.N` releases are yanked from
  crates.io. All `rc.N` releases are marked as "pre release" on GitHub.
  Our documentation says there's no support for these releases.

Effectively we'll have one extra PR to hit merge on, and additionally
will have the ability to publish more RCs.

In implementing this I went ahead and migrated the `scripts/publish.rs`
script to a proper Rust crate with dependencies at
`crates/misc/publish`.

Closes bytecodealliance#13622
@alexcrichton
alexcrichton requested review from a team as code owners July 31, 2026 16:46
@alexcrichton
alexcrichton requested review from fitzgen and removed request for a team July 31, 2026 16:46
@github-actions github-actions Bot added cranelift Issues related to the Cranelift code generator cranelift:meta Everything related to the meta-language. cranelift:module isle Related to the ISLE domain-specific language labels Jul 31, 2026
@github-actions

Copy link
Copy Markdown

Subscribe to Label Action

cc @cfallin, @fitzgen

Details This issue or pull request has been labeled: "cranelift", "cranelift:meta", "cranelift:module", "isle"

Thus the following users have been cc'd because of the following labels:

  • cfallin: isle
  • fitzgen: isle

To subscribe or unsubscribe from this label, edit the .github/subscribe-to-label.json configuration file.

Learn more.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cranelift:meta Everything related to the meta-language. cranelift:module cranelift Issues related to the Cranelift code generator isle Related to the ISLE domain-specific language

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Changing Wasmtime's versioning for unreleased branches

1 participant