Third failure uncovered by the restored pipeline. With checkout and the C++ build fixed, CI reached the WASM step and died on `[build-wasm] emcc not found at emcc`: ci.yml passed `EMCC: emcc`, but the script's existence check (`[[ ! -x "$EMCC" && ! -f "$EMCC" ]]`) only understands paths, so it looked for a file literally named "emcc" in the working directory. This has been broken for as long as the override existed; it was invisible because CI never got past checkout to run it. Resolve a bare command name through `command -v` before the check, and drop the now-redundant EMCC override in ci.yml — setup-emsdk already puts emcc on PATH, which is what the script's own default looks for. Verified by invoking it the way CI does: `EMCC=emcc bash scripts/build-wasm.sh` now builds. Incidentally confirms the new freshness gate is sound — the local toolchain is the same pinned emcc 3.1.69, and the rebuild reproduced the committed artifact byte-for-byte. run-all-tests.sh ALL GREEN. |
||
|---|---|---|
| .. | ||
| build-and-flash-firmware.sh | ||
| build-cpp-tests.sh | ||
| build-firmware-arch.sh | ||
| build-firmware.sh | ||
| build-wasm.sh | ||
| firmware-common.sh | ||
| flash-firmware.sh | ||
| lint-cpp.sh | ||
| parity-check.sh | ||
| run-all-tests.sh | ||
| setup-firmware-toolchain.sh | ||