whuppi/ci 2.0.0
Two gate changes. MAJOR: a consumer must update its Makefile to adopt.
- Added
tool/verify_web_gate.sh, the shared dual-compiler web gate. It compiles
a consumer's example under bothflutter build web(dart2js) and--wasm
(dart2wasm). The two compilers have different type models, so js-interop code
dart2js accepts (a non-exhaustive JSAny switch, an unsound interop cast)
dart2wasm can reject, and nothing else in the toolchain compiles wasm (the
analyzer and dart2js use the JS model; pana's wasm tag is an import heuristic).
A JS-only build is a false green. Registered instamped-files.txt. - The stamped gates no longer default their SDK/config env vars. A
${VAR:-fvm dart}fallback silently diverges a laptop from CI, so
analyze_core,platforms_gate, andverify_web_gatenow require
DART/FLUTTER/EXPECTED_PLATFORMSand fail loud if unset. The one
default lives in the consumer's Makefile, which passes them explicitly.
Adopting: re-stamp all gates, pass EXPECTED_PLATFORMS from make platforms,
and wire make verify-web to the new gate.