summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhathach <[email protected]>2026-06-02 00:24:05 +0700
committerhathach <[email protected]>2026-06-02 00:24:05 +0700
commit044cd06f87117afa541d8cc743fcc9ef2bdc8089 (patch)
treebfee68ede8f40a8425d1c925f37bea3a231e7b05
parent1ea04f7fe67bac927848e9dfd3ce2f607e7b93d7 (diff)
ci: address second codex/copilot review round
- claude.yml: drop the issues "assigned" trigger; its author_association gate keys on the issue author, not the assigner, so a maintainer assigning an outside contributor's issue would be wrongly skipped. - claude-code-review.yml: issues: read -> write so use_sticky_comment can create/update its PR comment via the issues API. - hil SKILL.md: make local/remote command blocks copy-pasteable (drop [-b BOARD_NAME] notation for concrete examples) and fix timeout (600000 ms is 10 min; use 1200000 ms for the stated 20 min). Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
-rw-r--r--.claude/skills/hil/SKILL.md22
-rw-r--r--.github/workflows/claude-code-review.yml2
-rw-r--r--.github/workflows/claude.yml5
3 files changed, 21 insertions, 8 deletions
diff --git a/.claude/skills/hil/SKILL.md b/.claude/skills/hil/SKILL.md
index 22588eba3..a7a916907 100644
--- a/.claude/skills/hil/SKILL.md
+++ b/.claude/skills/hil/SKILL.md
@@ -27,27 +27,37 @@ If `local.json` is missing on `htpc`, ask the user to supply one (only fall back
## Local execution
-Set `CONFIG` from `hostname` first, then run:
+Set `CONFIG` from `hostname` first (`test/hil/local.json` on htpc, `test/hil/tinyusb.json` on ci):
```bash
-CONFIG=test/hil/local.json # on htpc
-# CONFIG=test/hil/tinyusb.json # on ci
-python3 test/hil/hil_test.py [-b BOARD_NAME] -B examples "$CONFIG" $EXTRA_ARGS
+CONFIG=test/hil/local.json # on ci use: CONFIG=test/hil/tinyusb.json
+
+# All boards in the config:
+python3 test/hil/hil_test.py -B examples "$CONFIG"
+
+# A single board (replace stm32f723disco):
+python3 test/hil/hil_test.py -b stm32f723disco -B examples "$CONFIG"
```
+Append pass-through flags (`-v`, `-r 1`, …) to either command as needed.
+
## Remote execution (htpc → ci.lan only)
`test/hil/hil_ci.sh` handles dir setup, scp of test scripts, rsync of firmware (`.elf`/`.bin`/`.hex`), and runs `hil_test.py` on `ci.lan` with `tinyusb.json`:
```bash
-bash test/hil/hil_ci.sh [-b BOARD_NAME] [extra hil_test.py args...]
+# All boards:
+bash test/hil/hil_ci.sh
+
+# A single board, with pass-through flags:
+bash test/hil/hil_ci.sh -b raspberry_pi_pico2 -t host/cdc_msc_hid -r 1
```
Env overrides: `REMOTE`, `REMOTE_DIR`, `CONFIG`. Fails fast if the build dir/repo layout is missing.
## Timing
-Runs take 2-5 min. Use a timeout ≥ 20 min (600000 ms). NEVER cancel early.
+Runs take 2-5 min. Use a timeout ≥ 20 min (1200000 ms). NEVER cancel early.
## Reporting
diff --git a/.github/workflows/claude-code-review.yml b/.github/workflows/claude-code-review.yml
index 6c8bbb03d..4a0e4639b 100644
--- a/.github/workflows/claude-code-review.yml
+++ b/.github/workflows/claude-code-review.yml
@@ -21,7 +21,7 @@ jobs:
permissions:
contents: read
pull-requests: write
- issues: read
+ issues: write # use_sticky_comment posts/updates a PR comment via the issues API
id-token: write
actions: read # Required for Claude to read CI results on PRs
diff --git a/.github/workflows/claude.yml b/.github/workflows/claude.yml
index dedecd349..bf7a401e4 100644
--- a/.github/workflows/claude.yml
+++ b/.github/workflows/claude.yml
@@ -6,7 +6,10 @@ on:
pull_request_review_comment:
types: [created]
issues:
- types: [opened, assigned]
+ # only "opened" — an issue's author_association gates the summon below;
+ # "assigned" would gate on the issue author, not the assigner, so a
+ # maintainer assigning an outsider's issue would be wrongly skipped.
+ types: [opened]
pull_request_review:
types: [submitted]