From 67e5c31d7d09cce93e621893b25e7b7fd3e3df88 Mon Sep 17 00:00:00 2001 From: Ralf Anton Beier Date: Thu, 6 Aug 2026 02:03:21 +0200 Subject: [PATCH] =?UTF-8?q?fix(release):=20install=20wasm32-unknown-unknow?= =?UTF-8?q?n=20=E2=80=94=20v1.131.0=20shipped=20without=20components?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Regression from #329. That PR switched no_std components to build wasm32-unknown-unknown, but the flight-component job's toolchain only installs wasm32-wasip2, so the release failed at: building rate (wasm32-unknown-unknown)... ERROR: no .wasm found I verified #329 locally, where I had run `rustup target add wasm32-unknown-unknown` — and did not check the environment that actually matters. Same class as the wasip1-vs-wasip2 mistake: right property, wrong environment. Add both targets to the job. WHAT THE GUARD DID AND DID NOT CATCH — the fail-loud from #323 worked: the build aborted instead of falling through to a stale artifact, and the ghcr publish was SKIPPED rather than shipping something wrong. Nothing bad was published; ghcr still serves 1.129.0/1.130.0 only. What it could not prevent: `create-release` runs BEFORE `flight-component`, so the v1.131.0 GitHub release was already published (12 assets: binaries, SBOM, sums) and is now missing its wasm components. It is incomplete, not incorrect — consumers pulling components still resolve to 1.130.0. v1.131.0's notes will be marked superseded and the complete release cut as v1.131.1 rather than moving a published tag. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01HvusAXYbHLyv3uTzfBcMbG --- .github/workflows/release.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d8b64f5..704d87e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -441,7 +441,13 @@ jobs: - uses: dtolnay/rust-toolchain@stable with: - targets: wasm32-wasip2 + # BOTH targets (v1.131): std components build wasm32-wasip2; no_std + # components build wasm32-unknown-unknown (see NOSTD_COMPONENTS in + # scripts/build-components.sh — the wasip2 target links wasi-libc, + # whose cabi_realloc pulls in memory.grow, which blocks the MCU + # lowering). Omitting the second target fails the release at + # "building rate (wasm32-unknown-unknown)... ERROR: no .wasm found". + targets: wasm32-wasip2, wasm32-unknown-unknown - name: Install cosign uses: sigstore/cosign-installer@v3