Repository navigation
ci: let a repository variable move the storyboard matrix to a larger runner - #8238
Merged
Merged
Conversation
…runner
The storyboards and sales orchestrator matrices are about half of the
repo's runner-minutes and saturate the org's shared hosted pool. Both now
run on ${{ vars.STORYBOARD_RUNNER || 'ubuntu-latest' }}: setting the
STORYBOARD_RUNNER repository variable to a larger-runner label (e.g.
ubuntu-latest-m) moves them off the shared pool, and deleting it switches
straight back. The summary job stays on ubuntu-latest.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Ladon verdict: Escalate to human review
Escalate — gated path requires human/CODEOWNERS approval.
This PR modifies .github/workflows/training-agent-storyboards.yml, which matches the hard approval gate glob .github/workflows/** (gated_paths: true). The current review_decision is REVIEW_REQUIRED, not APPROVED, so the gate is not satisfied (decision table row 2).
The change itself is clean: it routes the storyboard and sales-orchestrator CI matrices through the STORYBOARD_RUNNER repo variable with a fail-safe ubuntu-latest fallback, preserves timeout-minutes: 30, keeps the summary job on ubuntu-latest, and ships a correctly-scoped patch changeset plus a test. The reviewer found no blocking, high, or medium findings.
Escalation reasons
.github/workflows/training-agent-storyboards.ymlis under a hard approval gate (.github/workflows/**) andreview_decisionisREVIEW_REQUIRED— human/CODEOWNERS approval required before merge.
Why human review
.github/workflows/training-agent-storyboards.ymlmatches gated path.github/workflows/**and review_decision is REVIEW_REQUIRED (not APPROVED) — human/CODEOWNERS approval required.- This PR touches a path under a hard, non-overridable approval gate (.github/workflows/training-agent-storyboards.yml (modified) matches
.github/workflows/**) and the current GitHub review decision is 'REVIEW_REQUIRED', not APPROVED. This is a hard gate enforced in code — Ladon cannot auto-approve until a human/CODEOWNERS approval is recorded, regardless of how clean the diff is.
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.
What
The storyboard matrices (
storyboards, 14 jobs, andsales_storyboard_orchestrators, 8 jobs) now run onThe small
sales_storyboardssummary job stays onubuntu-latest.Why
The training-agent storyboard workflow uses about half of the repo's runner-minutes. During PR bursts it saturates the org's shared hosted pool of about 60 concurrent jobs (diagnosis in #8225). The org already has a 4-core larger runner,
ubuntu-latest-min the Default Larger Runners group. This change moves the matrices onto it without hard-coding it, so switching runners becomes a settings change, not a code change.Rollout (settings, not code)
ubuntu-latest-mis currently shut down at the cap.adcpaccess and enable Allow public repositories.STORYBOARD_RUNNER=ubuntu-latest-m.Until step 3, nothing changes. If the larger runner is ever shut down, for example by hitting the spending cap, delete the variable so jobs don't queue forever.
Verification
tests/ci-runner-demand-workflows.test.mjs: 8/8, with a new test pinning the two heavy jobs to the variable and the fallback, and the summary job toubuntu-latest.🤖 Generated with Claude Code