Unbreak CI: three failures that predate the feature work - #6
Merged
Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Every run on
mainhas 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_containsatburysu-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.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.rm -rfon a Chromium profile Chromium sometimes still holds. The gate printedfirst frame presentedand thenFAILEDon 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
mainwith 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.