Skip to content

Unbreak CI: three failures that predate the feature work - #6

Merged
Lincoln504 merged 1 commit into
mainfrom
pr/00-ci
Jul 29, 2026
Merged

Unbreak CI: three failures that predate the feature work#6
Lincoln504 merged 1 commit into
mainfrom
pr/00-ci

Conversation

@Lincoln504

Copy link
Copy Markdown
Collaborator

Every run on main has failed, back to the first commit, for three reasons that have nothing to do with what anyone was building. This is those three, alone, so that the feature stack behind it produces check marks that mean something.

  • clippy::manual_contains at burysu-muse/src/interpret.rs:30 — the lint is new in Rust 1.97 and the workspace is checked with -D warnings, so a toolchain that moved under the repo turned a clean build red.
  • wasm-opt rejects memory.copy — rustc emits bulk-memory ops for wasm32 by default now and wasm-pack's bundled wasm-opt refuses them unless the feature is named, so the release build fails at the optimiser, after a successful compile.
  • The browser smoke test failed while passing — an EXIT trap's status is that of its last command, and the trap ended in rm -rf on a Chromium profile Chromium sometimes still holds. The gate printed first frame presented and then FAILED on the next line.

The third is why this is a separate PR: it is a flake, it only bites when teardown loses a race, and it would otherwise be found by someone re-running a red build and watching it go green.

Verified by running the full local gate on main with exactly these three changes — fmt, clippy, workspace tests against a real adapter, wasm build at 342,670 gz against the 6 MB NFR-2 budget, and headless-Chromium smoke. Two of the three are not enough: with only the lint and the wasm flags it still fails at the smoke step.

⚠️ This is the base of a 12-PR stack. Please merge with a merge commit — squash or rebase rewrites the SHAs and breaks every PR above it.

Every run on `main` has failed, back to the first commit, for three
reasons that have nothing to do with what anyone was building.

**`clippy::manual_contains`** at `burysu-muse/src/interpret.rs:30`. The
lint is new in Rust 1.97 and the workspace is checked with `-D warnings`,
so a toolchain that moved under the repo turned a clean build red.

**wasm-opt rejects `memory.copy`.** rustc emits bulk-memory ops for
wasm32 by default now and wasm-pack's bundled wasm-opt refuses them
unless the feature is named, so the release build fails *at the
optimiser*, after a successful compile — which reads as a broken
toolchain rather than a missing flag.

**The browser smoke test failed while passing.** An EXIT trap's exit
status is that of its last command, and the trap ended in `rm -rf` on a
temporary Chromium profile. Chromium sometimes still holds files there
when we tear down, so the `rm` failed, and the script exited non-zero
having already printed the success line. The symptom is a gate that
reports "first frame presented" and then "FAILED" on the next line. The
cleanup is a function now, and it returns 0.

The third one is the reason to send this separately rather than let it
ride along with a feature: it is a *flake*, it only bites when the
teardown loses a race, and it would otherwise be discovered by somebody
re-running a red build and watching it go green.

Verified by running the full local gate — fmt, clippy, the workspace
tests against a real adapter, the wasm build inside the payload budget
(342,670 gz against 6 MB), and the headless-Chromium smoke — on `main`
with exactly these three changes. Two of the three are not enough: with
only the lint and the wasm flags, the gate still fails at the smoke step.
@Lincoln504
Lincoln504 merged commit f8065da into main Jul 29, 2026
2 checks passed
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.

1 participant