Skip to content

Standardize theme CI gate on the Required checks pass aggregator check#559

Merged
aileen merged 1 commit into
mainfrom
ci/required-checks-pass-gate
Jul 6, 2026
Merged

Standardize theme CI gate on the Required checks pass aggregator check#559
aileen merged 1 commit into
mainfrom
ci/required-checks-pass-gate

Conversation

@aileen

@aileen aileen commented Jul 6, 2026

Copy link
Copy Markdown
Member

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 PRs
  • packages/<theme>/.github/workflows/test.yml — force-pushed downstream to TryGhost/<Theme>, where the ruleset requires the check

The 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 passrequired-checks-pass / Required checks pass across all 32 workflow files. Pure rename — nothing needs the gate job, and its always() + failure/cancelled semantics are unchanged.

Ordering note

Until this merges and the subtree job republishes, each mirror's ruleset requires Required checks pass while its published test.yml still emits All 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.

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.
@cursor

cursor Bot commented Jul 6, 2026

Copy link
Copy Markdown

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.

@coderabbitai

coderabbitai Bot commented Jul 6, 2026

Copy link
Copy Markdown

Review Change Stack

Walkthrough

This PR renames a CI job across 32 GitHub Actions workflow files: the gating job previously identified as all-tests-pass (display name "All tests pass") is renamed to required-checks-pass (display name "Required checks pass"). The change is applied uniformly to top-level workflows in .github/workflows and to per-package workflows in packages/*/.github/workflows/test.yml. No other job logic, dependencies, or conditions are altered.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Changes

File group Change
.github/workflows/*.yml (16 files) Renamed job id/name from all-tests-pass/"All tests pass" to required-checks-pass/"Required checks pass"
packages/*/.github/workflows/test.yml (16 files) Renamed job id/name from all-tests-pass/"All tests pass" to required-checks-pass/"Required checks pass"

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)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: standardizing CI gating on the Required checks pass aggregator check.
Description check ✅ Passed The description is directly related and accurately describes the workflow rename across the theme mirrors.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ci/required-checks-pass-gate

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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (2)
.github/workflows/alto.yml (2)

30-31: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Update docs/architecture.md to 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 pass once 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 | 🔵 Trivial

Confirm 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 pass check 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 to Required 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

📥 Commits

Reviewing files that changed from the base of the PR and between 7286893 and c7dde53.

📒 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.yml
  • packages/alto/.github/workflows/test.yml
  • packages/bulletin/.github/workflows/test.yml
  • packages/dawn/.github/workflows/test.yml
  • packages/digest/.github/workflows/test.yml
  • packages/dope/.github/workflows/test.yml
  • packages/ease/.github/workflows/test.yml
  • packages/edge/.github/workflows/test.yml
  • packages/edition/.github/workflows/test.yml
  • packages/episode/.github/workflows/test.yml
  • packages/headline/.github/workflows/test.yml
  • packages/journal/.github/workflows/test.yml
  • packages/london/.github/workflows/test.yml
  • packages/ruby/.github/workflows/test.yml
  • packages/solo/.github/workflows/test.yml
  • packages/taste/.github/workflows/test.yml
  • packages/wave/.github/workflows/test.yml

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant