CI: Enable multi-GPU tests via label on PRs#2203
Conversation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
🏷️ CI GuideRuns automatically on every PR:
Extended tests (opt-in via labels):
|
There was a problem hiding this comment.
Pull request overview
This PR enables Multi-GPU op tests to be triggered on-demand from pull requests via the ci:multi-gpu (or ci:all) label, in addition to their existing automatic execution on pushes to main. The PR also updates the welcome comment posted on new PRs to document this new label.
Changes:
- Added
labeledto thepull_requestevent types and updated themulti-gpujob'sifcondition to run on PRs with theci:multi-gpuorci:alllabel - Updated the PR welcome comment to include the
ci:multi-gpulabel in the opt-in label table
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
.github/workflows/aiter-test.yaml |
Adds labeled to PR trigger types; replaces github.ref == 'refs/heads/main' guard on multi-gpu job with a label-aware condition |
.github/workflows/pr-welcome-comment.yaml |
Adds ci:multi-gpu row to the label reference table in the welcome comment |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| branches: [main] | ||
| pull_request: | ||
| types: [opened, synchronize, reopened, ready_for_review] | ||
| types: [opened, synchronize, reopened, ready_for_review, labeled] |
There was a problem hiding this comment.
Adding labeled to the pull_request trigger types introduces two related operational issues:
-
Unnecessary re-runs of standard jobs: The
check-signal,build_aiter_image,split_aiter_tests, andstandardjobs haveifconditions that only guard against draft PRs, so they will all re-run whenever any label is added to a PR — not justci:multi-gpuorci:all. This wastes GPU resources. -
Cancellation of in-flight runs: Because
cancel-in-progressistruefor non-main branches and the concurrency group is keyed solely ongithub.workflow-github.ref, applying theci:multi-gpulabel while the standard test suite is already running will cancel that in-progress run, causing developers to lose intermediate results.
A cleaner approach would be to move the multi-gpu job into a dedicated workflow file triggered only by the labeled event (and push to main), which is the pattern used by the other opt-in workflows (atom-test.yaml, sglang_downstream.yaml, vllm_benchmark.yaml). Alternatively, the if conditions on all non-multi-gpu jobs could be extended to also skip execution when github.event.action == 'labeled'.
| name: Multi-GPU Tests (8 GPU) | ||
| if: github.ref == 'refs/heads/main' | ||
| if: >- | ||
| github.event_name != 'pull_request' || |
There was a problem hiding this comment.
The new if condition github.event_name != 'pull_request' is broader than the original github.ref == 'refs/heads/main'. In addition to push events on main, it also enables multi-gpu to run on workflow_dispatch events triggered from any branch (including feature branches), whereas the old condition restricted execution to pushes to main. This behavior change may be intentional, but it is worth verifying — if the intent is to only run on push to main and on labeled PRs, the non-PR branch of the condition should be changed to github.event_name == 'push' (which still covers both push to main and allows label-triggered PRs to work).
| github.event_name != 'pull_request' || | |
| github.event_name == 'push' || |
…)" This reverts commit 30d1040.
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Summary
ci:multi-gpuorci:alllabelsmainci:multi-gpuin the label tableTest plan
ci:multi-gpulabel → verify multi-GPU tests triggerci:alllabel → verify multi-GPU tests trigger along with other extended testsmain→ verify multi-GPU tests still run as before🤖 Generated with Claude Code