Skip to content

Standardize on a single ci status context - #1

Merged
jcasimir merged 2 commits into
mainfrom
standardize-ci-gate
Sep 10, 2026
Merged

jcasimir merged 2 commits into
mainfrom
standardize-ci-gate

Conversation

@jcasimir

Copy link
Copy Markdown
Member

Part of the fleet-wide standardization tracked in JumpstartLab/server-admin#124.

The ci job. Aggregates every other job in the workflow. No paths: filter and no if: of its own, so it always runs and therefore always reports — a required context that can be skipped leaves its PR pending forever, with no timeout. if: always() so it still runs when a need failed; the step treats a skipped need as success and failure or cancelled as not. Both directions were proven on real runs in the pilot (JumpstartLab/manila#43).

Auto-merge. The automerge label is unchanged as an interface. Underneath, the hand-rolled loop is replaced by a shim that turns on GitHub's native auto-merge and stops — GitHub holds the merge until ci is green. The shim refuses loudly if the base branch does not actually require ci, because enabling auto-merge on an ungated PR merges it immediately rather than waiting.

Once this has landed everywhere, a single org-level ruleset requiring ci replaces the fifteen per-repo rulesets.

🤖 Generated with Claude Code

https://claude.ai/code/session_016Rn19FnLSwT7aje6gTam39

jcasimir and others added 2 commits September 10, 2026 13:11
Adds the aggregate `ci` job the whole fleet now defines: it needs every
other job in the workflow, always runs, and passes when each need either
succeeded or was skipped. One context for the branch ruleset to require
instead of one per job — and one that still reports on a PR where a
path-filtered or conditional job correctly did not run.

Replaces the hand-rolled auto-merge loop with a shim that enables GitHub's
native auto-merge. The `automerge` label behaves exactly as before; the
polling, the CI-result inspection and the branch lookup underneath it are
gone, along with the free-plan constraint that made them necessary.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Rn19FnLSwT7aje6gTam39
`on: [push, pull_request]` triggers both events for a branch pushed to this
repo, so each context — including the new `ci` gate — was reported twice per
commit. Scope the push trigger to the default branch.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Rn19FnLSwT7aje6gTam39
@jcasimir
jcasimir merged commit 0c5e236 into main Sep 10, 2026
3 checks passed
@jcasimir
jcasimir deleted the standardize-ci-gate branch September 10, 2026 19:16
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