diff options
| author | Ha Thach <[email protected]> | 2026-07-30 02:29:32 +0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-07-30 02:29:32 +0700 |
| commit | eef5af86aa26fe3d72e41156a586a6ed3ffce9f8 (patch) | |
| tree | fa5ebe3a8d46738338eaee2d4a80717a7a10f464 /.github/workflows/pr_comment.yml | |
| parent | 5d8afbb23248e9d1d5d1fdf434c9c58cc54ba5b7 (diff) | |
hil, ci: scope HIL builds and tests to the boards a PR affects (#3797)
hil, ci: scope HIL builds and tests to the boards a PR affects
Add test/hil/hil_select.py, a stdlib-only selector that maps a PR diff to the
rig boards, tests and BSP families a change can affect, and wire it into CI so
pull requests build and run only those. A port change picks its families' boards,
a class change picks the examples enabling that class, and device/host changes
prune the other role. Anything unclassified — infra, an unmapped port, a selector
error — falls back to the full matrix, and push/schedule runs are untouched.
Move the shared example lists to hil_examples.py; 54 hardware-free tests cover
the rules.
Diffstat (limited to '.github/workflows/pr_comment.yml')
| -rw-r--r-- | .github/workflows/pr_comment.yml | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/.github/workflows/pr_comment.yml b/.github/workflows/pr_comment.yml index 4d50817b4..868e56405 100644 --- a/.github/workflows/pr_comment.yml +++ b/.github/workflows/pr_comment.yml @@ -101,7 +101,16 @@ jobs: shopt -s nullglob dirs=(hil-reports/hil-report-*) if [ ${#dirs[@]} -eq 0 ]; then + # No rig produced a report: PR selection matched no board anywhere, or the + # HIL jobs did not run at all. Post it rather than exiting, so a table from + # an earlier push is replaced instead of being left to look current. echo "No HIL reports found" + { + echo "## Hardware-in-the-loop (HIL) Test Report" + echo + echo "_No HIL run for this push (no affected boards, or hardware testing did not run)._" + } > hil_combined.md + echo "found=true" >> "$GITHUB_OUTPUT" exit 0 fi { |
