Skip to content

fix(ci): dispatch full tests directly from the PR action panel#318

Merged
kp2pml30 merged 1 commit into
v0.3-devfrom
fix/ci-panel-dispatch-full-tests
Jun 26, 2026
Merged

fix(ci): dispatch full tests directly from the PR action panel#318
kp2pml30 merged 1 commit into
v0.3-devfrom
fix/ci-panel-dispatch-full-tests

Conversation

@kp2pml30

Copy link
Copy Markdown
Member

Problem

On PR #317 the Force / Rerun full tests boxes on the action panel did nothing.

Root cause: the handler set the run-full-tests label using the bot's GITHUB_TOKEN, but GitHub suppresses workflow runs triggered by events caused by GITHUB_TOKEN (recursive-run guard). So the labeled event never reached queue.yaml and no run started. Confirmed: zero queue.yaml runs were ever triggered by a labeled event.

Fix

Trigger queue.yaml directly via workflow_dispatch, which does run even when fired with GITHUB_TOKEN (it's the documented exception). The handler dispatches on the PR head branch, so the run's head_sha equals the PR head and the Merge gate (which keys off head_sha) counts it.

  • queue.yaml: add a workflow_dispatch trigger (+ pr input for the run name), run the heavy jobs on it, label its run-name as manual.
  • branch_pr_actions.yaml: grant actions: write so the handler can dispatch.
  • pr-action-panel.py: replace the label remove/add dance with gh 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: count workflow_dispatch runs on the head sha (dropped the event=pull_request filter), so a panel-started run satisfies the Merge gate.

Notes / limitations

  • Fork PRs have no head branch in this repo, so the panel can only dispatch for same-repo branches (the common GenVM flow). Fork PRs still run full tests via the rtm/run-full-tests label on push.

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
@coderabbitai

coderabbitai Bot commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 5ae7adf8-9c08-4863-bc58-480b3adb39a1

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/ci-panel-dispatch-full-tests

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

GenVM PR actions

Tick a box to run it (the box unticks itself when handled). Actions only run while the PR has the ci-safe label.

  • Force run full tests
  • Rerun full tests
  • Merge into dev

Full GenVM CI runs only when rtm or run-full-tests is set — "Force run full tests" is a sticky toggle for run-full-tests. Adding rtm marks the PR ready-to-merge and also runs full tests. Merge requires: rtm, green full tests, green E2E, and the branch 0 commits behind.

@kp2pml30 kp2pml30 self-assigned this Jun 25, 2026
@kp2pml30 kp2pml30 added the rtm ready to merge label Jun 25, 2026
@kp2pml30

Copy link
Copy Markdown
Member Author

/run-e2e core

@genlayerlabs genlayerlabs deleted a comment from github-actions Bot Jun 26, 2026
@github-actions

Copy link
Copy Markdown
Contributor

✅ Merged into v0.3-dev (abb71bf891695b737e6a4f5211f4740a3b25543d) via fast-forward.

@kp2pml30 kp2pml30 merged commit abb71bf into v0.3-dev Jun 26, 2026
16 of 17 checks passed
@kp2pml30 kp2pml30 deleted the fix/ci-panel-dispatch-full-tests branch June 26, 2026 19:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-safe rtm ready to merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant