Standardize theme CI gate on the Required checks pass aggregator check#559
Conversation
The org is moving every repo's branch protection onto one stable required
status check named "Required checks pass", so a repo's ruleset no longer
couples to individual CI job names. The 16 theme repos are subtree mirrors
force-pushed from this monorepo, so their CI gate is defined here, in two
places per theme:
- .github/workflows/<theme>.yml (gates this monorepo's PRs)
- packages/<theme>/.github/workflows/test.yml (mirrored downstream to
TryGhost/<Theme>, where branch protection requires the check)
The downstream theme repos' rulesets have already been switched to require
"Required checks pass"; editing the mirror repos directly is futile because the
next subtree force-push overwrites them. Renaming the gate job here — from
all-tests-pass / "All tests pass" to required-checks-pass / "Required checks
pass" across all 32 workflow files — is what actually updates the mirrors when
this merges and republishes, bringing each theme's produced check name back in
line with the check its ruleset now requires.
Pure rename: no job depends on the gate via `needs`, and its failure/cancelled
semantics are unchanged.
|
Bugbot is not enabled for this team, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
WalkthroughThis PR renames a CI job across 32 GitHub Actions workflow files: the gating job previously identified as Estimated code review effort: 1 (Trivial) | ~5 minutes Changes
Sequence Diagram(s)Not applicable — this change is a uniform identifier/label rename with no altered control flow or interactions. Related issues: None specified. Related PRs: None specified. Suggested labels: ci, chore Suggested reviewers: None specified. Poem: A rabbit hopped through workflows deep, / Renaming jobs while checks still sleep. / "All tests pass" is now retired, / "Required checks pass" is what's desired. / Thirty-two files, one tidy sweep. 🐇✅ 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (2)
.github/workflows/alto.yml (2)
30-31: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winUpdate
docs/architecture.mdto match the renamed gate.The architecture diagram still labels the gate step "All tests pass," which will drift from the actual job name
Required checks passonce this rename lands.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.github/workflows/alto.yml around lines 30 - 31, Update the architecture documentation to match the renamed workflow gate: the diagram text still says “All tests pass,” but it should reflect the new gate name “Required checks pass.” Make the change in docs/architecture.md and keep the label aligned with the workflow job name defined by required-checks-pass so the documentation stays consistent.
30-31: 🧹 Nitpick | 🔵 TrivialConfirm branch protection required-check settings are updated in lockstep.
Renaming the job doesn't automatically migrate the required-status-check configuration in each repo's branch protection rules. If the old
All tests passcheck name remains configured as required while the workflow no longer reports it, PRs/pushes against protected branches will be permanently blocked until the setting is switched toRequired checks pass. This applies to all 16 theme repos plus this monorepo, so the settings change needs to be coordinated with this merge (or before it, for the mirrored downstream repos).🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.github/workflows/alto.yml around lines 30 - 31, The workflow job rename from the old required check name to required-checks-pass needs matching branch protection updates to avoid blocking protected branches. Update the branch protection required-status-check configuration in every affected repo to replace the old All tests pass check with Required checks pass, and coordinate the settings change with the workflow rename so the required check name stays in sync.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In @.github/workflows/alto.yml:
- Around line 30-31: Update the architecture documentation to match the renamed
workflow gate: the diagram text still says “All tests pass,” but it should
reflect the new gate name “Required checks pass.” Make the change in
docs/architecture.md and keep the label aligned with the workflow job name
defined by required-checks-pass so the documentation stays consistent.
- Around line 30-31: The workflow job rename from the old required check name to
required-checks-pass needs matching branch protection updates to avoid blocking
protected branches. Update the branch protection required-status-check
configuration in every affected repo to replace the old All tests pass check
with Required checks pass, and coordinate the settings change with the workflow
rename so the required check name stays in sync.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: fc59a095-4af3-461e-b30c-9ced4f4764ba
📒 Files selected for processing (32)
.github/workflows/alto.yml.github/workflows/bulletin.yml.github/workflows/dawn.yml.github/workflows/digest.yml.github/workflows/dope.yml.github/workflows/ease.yml.github/workflows/edge.yml.github/workflows/edition.yml.github/workflows/episode.yml.github/workflows/headline.yml.github/workflows/journal.yml.github/workflows/london.yml.github/workflows/ruby.yml.github/workflows/solo.yml.github/workflows/taste.yml.github/workflows/wave.ymlpackages/alto/.github/workflows/test.ymlpackages/bulletin/.github/workflows/test.ymlpackages/dawn/.github/workflows/test.ymlpackages/digest/.github/workflows/test.ymlpackages/dope/.github/workflows/test.ymlpackages/ease/.github/workflows/test.ymlpackages/edge/.github/workflows/test.ymlpackages/edition/.github/workflows/test.ymlpackages/episode/.github/workflows/test.ymlpackages/headline/.github/workflows/test.ymlpackages/journal/.github/workflows/test.ymlpackages/london/.github/workflows/test.ymlpackages/ruby/.github/workflows/test.ymlpackages/solo/.github/workflows/test.ymlpackages/taste/.github/workflows/test.ymlpackages/wave/.github/workflows/test.yml
Why
The org is standardizing every repo's branch protection on one stable required status check,
Required checks pass, instead of coupling protection to individual CI job names. The 16 theme repos (alto, bulletin, dawn, digest, dope, ease, edge, edition, episode, headline, journal, london, ruby, solo, taste, wave) are git-subtree force-push mirrors of this monorepo, so their CI gate is defined here — not in the downstream repos.Each theme has the gate in two files:
.github/workflows/<theme>.yml— gates this monorepo's PRspackages/<theme>/.github/workflows/test.yml— force-pushed downstream toTryGhost/<Theme>, where the ruleset requires the checkThe downstream mirror rulesets have already been pointed at
Required checks pass. Editing the mirror repos directly doesn't stick (the next subtree publish overwrites them), so this monorepo change is what actually migrates them once it merges and republishes.What
Renames the gate job
all-tests-pass/All tests pass→required-checks-pass/Required checks passacross all 32 workflow files. Pure rename — nothingneedsthe gate job, and itsalways()+ failure/cancelled semantics are unchanged.Ordering note
Until this merges and the subtree job republishes, each mirror's ruleset requires
Required checks passwhile its publishedtest.ymlstill emitsAll tests pass. That only affects direct PRs opened against a mirror repo (rare; dev happens here), and Ghost Foundation retains ruleset bypass. Merging this closes that window. The per-mirror deploy-key ruleset bypass (needed for the subtree force-push) has been restored.