tinymachines/halfphi has GitHub Actions; this repository has none. Everything
below is currently run by hand and therefore only when someone remembers.
What CI would need to run
cargo test --workspace # 83 tests
cargo clippy --workspace --all-targets
node tools/check-programs.mjs # the programs assemble and round-trip
The awkward parts, which are why this has not happened
- The golden test needs a 5 MB oracle generated by
node tools/golden-trace/ gen.js --steps 3000. Without it the test SKIPS. V6502_REQUIRE_GOLDEN=1 makes
its absence a failure, which is what CI should set — a skip that looks like a
pass is worse than a failure.
- The web harnesses need a browser. There are 23 of them and they are the
only test route the front end has. They need a static server plus headless
Chromium, and on this machine google-chrome headless hangs on any page load
(v149) while snap chromium works — so the invocation is not portable.
- The die data is a submodule, so checkout needs
submodules: recursive.
Suggested shape
Start with the Rust and the program check, which need no browser and would have
caught a real failure this project shipped (a doctest broken by a rename). Add
the web harnesses as a second job once the browser invocation is pinned down.
tinymachines/halfphihas GitHub Actions; this repository has none. Everythingbelow is currently run by hand and therefore only when someone remembers.
What CI would need to run
The awkward parts, which are why this has not happened
node tools/golden-trace/ gen.js --steps 3000. Without it the test SKIPS.V6502_REQUIRE_GOLDEN=1makesits absence a failure, which is what CI should set — a skip that looks like a
pass is worse than a failure.
only test route the front end has. They need a static server plus headless
Chromium, and on this machine
google-chromeheadless hangs on any page load(v149) while snap
chromiumworks — so the invocation is not portable.submodules: recursive.Suggested shape
Start with the Rust and the program check, which need no browser and would have
caught a real failure this project shipped (a doctest broken by a rename). Add
the web harnesses as a second job once the browser invocation is pinned down.