Repository navigation
feat(ci): make PR GPU CI opt-in via gpu-ci label or approval - #4185
Open
garrett361 wants to merge 6 commits into
Open
garrett361 wants to merge 6 commits into
garrett361 wants to merge 6 commits into
Conversation
Move the GPU unit and integration jobs from tests.yml into a new gpu.yml. On PRs it runs the full GPU suite only when the one-shot gpu-ci label is applied or someone with Triage or higher approves, and a new trigger cancels the PR's in-flight run. Push to main and manual dispatch still run the full suite. tests.yml keeps the CPU jobs and the path-gated gsm8k_eval. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Filter on label name and review state in the gate job's if, so unrelated events skip every job instead of running the gate. Rename decide to set_run_and_exit, and let any permission lookup error fail the gate. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The label now skips while a healthy GPU run on the same head commit is in flight, and is removed whether or not it starts a run. GPU jobs skipped by the gate use a per-run throwaway concurrency group, so a skipped trigger cannot cancel the PR's in-flight run. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
garrett361
marked this pull request as ready for review
October 20, 2026 21:13
rustielin
approved these changes
Oct 21, 2026
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
GPU tests move from
tests.ymlinto a newgpu.ymlthat runs on PRs only on request: applying thegpu-cilabel, or an approval from anyone with Triage or higher, runs the full GPU suite on the PR's current commit. Before, every push to a ready PR re-ran the GPU suite whenever the diff hit a broad path filter, which about 64% of recentmaincommits did.mainstill runs the full GPU suite.tests.ymlkeeps its CPU jobs and the path-gatedgsm8k_eval.tests.ymlno longer runs GPU jobs (dispatchgpu.yml), and the README "Tests" badge no longer reflects GPU results.AGENTS.mdtells agents how GPU CI is triggered, and to add the label only when the user asks.Possible future extension point: scoped labels like
gpu-ci:unitcould run a subset of the GPU tests, with the gate emitting one output per suite.🤖 Generated with Claude Code