You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(ci): Hardware-in-the-loop sweep + close test-infra gaps
Adds a `--hil` mode that uploads + runs every test group in `tests/integration/firmware` against the device named by `$PIO_LABGRID_DEVICE`, for both the `serial` (streaming Protocol path) and `i2c` envs. `--full` invokes it automatically after `run_ci`; the step self-skips when the env var is unset so headless CI stays green.
Naming dodges the singular/plural confusion with the existing `--integrations` (host-only JSON-backend doctest binary). `--hil` is unambiguous and matches the established hardware-in-the-loop term.
`run_full()` consolidates the two phases into a named helper so the dispatch `case` doesn't need a multi-line bash invocation.
Also closes a test-infra gap surfaced while reviewing this: the PIO integration compile-only loop covered `serial` + `i2c` but not `both` (the env that links both pin sets into one image — exists specifically to catch their interaction at link time). Adding `both` to the loop keeps the env from being dead infrastructure.
`nointerface` stays out of the loop deliberately: it's a negative compile test (verifies the `#error` guard fires when no pin set is defined). Wiring that into ci.sh needs an inverted exit-code check that doesn't fit naturally into the existing positive-build loop; left for a follow-up.
0 commit comments