fix(ci): dispatch full tests directly from the PR action panel#318
Conversation
The "Force"/"Rerun full tests" boxes set the `run-full-tests` label with the bot's GITHUB_TOKEN, but GitHub suppresses the resulting `labeled` event (recursive-run guard), so queue.yaml never fired and the buttons silently did nothing. Trigger queue.yaml directly via `workflow_dispatch` instead, which DOES run when fired by GITHUB_TOKEN. The handler dispatches on the PR head branch so the run's head_sha equals the PR head and the Merge gate counts it. Force still sets the sticky label (future pushes auto-run) and now also dispatches once on the enabling edit; Rerun just dispatches. - queue.yaml: add `workflow_dispatch`, run on it, mark its run-name - branch_pr_actions.yaml: grant `actions: write` to dispatch - pr-action-panel.py: replace label-toggle with `gh workflow run` - genvm-merge-into-dev.py: count workflow_dispatch runs on the head sha
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
GenVM PR actionsTick a box to run it (the box unticks itself when handled). Actions only run while the PR has the
Full GenVM CI runs only when |
|
/run-e2e core |
|
✅ Merged into |
Problem
On PR #317 the Force / Rerun full tests boxes on the action panel did nothing.
Root cause: the handler set the
run-full-testslabel using the bot'sGITHUB_TOKEN, but GitHub suppresses workflow runs triggered by events caused byGITHUB_TOKEN(recursive-run guard). So thelabeledevent never reachedqueue.yamland no run started. Confirmed: zeroqueue.yamlruns were ever triggered by alabeledevent.Fix
Trigger
queue.yamldirectly viaworkflow_dispatch, which does run even when fired withGITHUB_TOKEN(it's the documented exception). The handler dispatches on the PR head branch, so the run'shead_shaequals the PR head and the Merge gate (which keys offhead_sha) counts it.queue.yaml: add aworkflow_dispatchtrigger (+prinput for the run name), run the heavy jobs on it, label its run-name as manual.branch_pr_actions.yaml: grantactions: writeso the handler can dispatch.pr-action-panel.py: replace the label remove/add dance withgh workflow run queue.yaml --ref <head branch>. Force keeps setting the sticky label (future pushes auto-run) and now also dispatches once on the enabling edit; Rerun just dispatches.genvm-merge-into-dev.py: countworkflow_dispatchruns on the head sha (dropped theevent=pull_requestfilter), so a panel-started run satisfies the Merge gate.Notes / limitations
rtm/run-full-testslabel on push.