Skip to content

Conversation

@alexcrichton
Copy link
Member

Backport of #12257

…12257)

This commit updates CI config and such to ensure that we're compatible
with crates.io-based trusted publishing. Eventually we'll want the
restriction that only `wasmtime-publish` is the user on all of our
crates, but for now this needs to land and get backported before that's
done.

Changes here are:

* The `publish-to-cratesio.yml` workflow now uses
  `rust-lang/crates-io-auth-action@v1` to get a crates.io-based token.
  The in-repository secret is no longer used.
* The `publish-to-cratesio.yml` workflow has a new github "Environment"
  it runs in named `publish`
* The publish script no longer adds the
  `github:bytecodealliance:wasmtime-publish` user to crates.
* The publish script now verifies that the `wasmtime-publish` github
  users is on all crates.
* Eventually the publish script will verify that it's the only user on
  all the crates, but that's left for a future PR.

External changes are:

* A new `publish` "Environment" was added to this repository.
* All crates are configured on crates.io to have a trusted publishing
  workflow for this repository.
* All crates now require being published through a trusted publishing
  workflow.

My plan is to backport this to the 40.0.0 branch, run a point release,
fix anything that comes up, and then backport this to all supported
branches of Wasmtime.
@alexcrichton alexcrichton requested a review from a team as a code owner January 7, 2026 23:50
@alexcrichton alexcrichton requested review from rvolosatovs and removed request for a team January 7, 2026 23:50
)

This updates the `cargo vet` used in CI to include support for trusted
publishing. This is necessary now that the latest version of Wasmtime
(40.0.1) is published with trusted publishing. I'm not entirely sure why
this is necessary, but it's going to be inevitable in the future anyway
as we transition to trusted publishing.

The `cargo vet` tool is now installed from git and new wildcard audits
for all wasmtime, wasm-tools, and wit-bindgen crates are added for the
appropriate trusted-publisher. Maintainers will need to install
cargo-vet from git as well, but unfortunately after the publish of
40.0.1 yesterday I don't think we have an option as otherwise CI is
broken.
@alexcrichton alexcrichton enabled auto-merge (squash) January 9, 2026 01:42
@alexcrichton alexcrichton merged commit 677cb00 into bytecodealliance:release-41.0.0 Jan 9, 2026
174 checks passed
@alexcrichton alexcrichton deleted the trusted41 branch January 9, 2026 02:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants