Skip to content

chore(ci): branch-protection parity with mailrag (#78)#81

Open
fmasi wants to merge 1 commit into
mainfrom
chore/ci-governance-mailrag-parity
Open

chore(ci): branch-protection parity with mailrag (#78)#81
fmasi wants to merge 1 commit into
mainfrom
chore/ci-governance-mailrag-parity

Conversation

@fmasi

@fmasi fmasi commented Jun 15, 2026

Copy link
Copy Markdown
Owner

Brings repo governance in line with fmasi/mailrag and resolves the #78 "Main guard" lockout.

Background (#78)

The main ruleset required code_scanning (CodeQL), code_quality, and copilot_code_review — none of which were wired up, so all merges to main were blocked and an admin-bypass stopgap was added. Meanwhile the working test check (Swift suite on macOS) was never made a required gate.

Changes in this PR (files)

  • Add .github/dependabot.yml — Swift SPM + SHA-pinned GitHub Actions, weekly.
  • Add .github/workflows/claude-code-review.yml — auto PR review (SHA-pinned action); skips cleanly when CLAUDE_CODE_OAUTH_TOKEN is absent.
  • Remove .github/workflows/setup-branch-protection.yml — it configured classic branch protection (also requiring test), which conflicts with the ruleset. Standardising on the ruleset as the single source of truth.

Companion changes applied out-of-band (GitHub settings, not in this diff)

  • Enabled CodeQL default setup (Swift) so code_scanning actually runs.
  • Edited the "Main guard" ruleset: require the test status check, keep CodeQL, drop code_quality + copilot_code_review (can't run here), keep deletion/force-push protection and the PR requirement, keep the admin bypass.

After merge, main is gated on green test + CodeQL via a real, satisfiable ruleset — no more admin-bypass lockout.

🤖 Generated with Claude Code

Bring repo governance in line with the mailrag setup and fix the #78
"Main guard" lockout (ruleset required CodeQL/code_quality/Copilot checks
that never ran, forcing an admin bypass stopgap).

- Add .github/dependabot.yml (Swift SPM + SHA-pinned GitHub Actions, weekly).
- Add .github/workflows/claude-code-review.yml (auto PR review, SHA-pinned;
  skips cleanly when CLAUDE_CODE_OAUTH_TOKEN is absent).
- Remove setup-branch-protection.yml: it set *classic* branch protection,
  which conflicts with the "Main guard" ruleset we standardize on. Protection
  is now managed via the ruleset (edited out-of-band) gating on the working
  `test` status check + CodeQL (default setup enabled), dropping the
  unsatisfiable code_quality/copilot_code_review rules.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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