Skip to content

fix(governance): support signed CI rulesets and GitHub App-bound checks - #41

Merged
vitormattos merged 3 commits into
mainfrom
fix/support-signed-ci-rulesets
Nov 4, 2026
Merged

vitormattos merged 3 commits into
mainfrom
fix/support-signed-ci-rulesets

Conversation

@vitormattos

Copy link
Copy Markdown
Member

Why

Repository-only classic branch protection can conflict with the standard PR-only administrator bypass. The migration of LibreCodeCoop/akaunting-mcp preserves its 14 required checks and required signatures in a ruleset, but the declarative governance engine cannot yet parse that rule and strips check integration IDs.

Changes

  • Support required_signatures as a managed ruleset rule.
  • Preserve optional integration_id on required checks for GitHub App-specific context ownership.
  • Compare unbound checks without false drift when GitHub returns an integration automatically.
  • Cover validation, signature normalization, and integration mismatch with regression tests.

Verification

  • Node 24: npm run check (typecheck, 63 Vitest tests, TypeScript build) passed.
  • Signed commit and DCO verified.

Follow-up

After this PR is merged and the .github workflow pins the updated engine commit, the organization config PR can declare the existing akaunting-mcp CI-and-signature ruleset. Do not run privileged governance apply on the old engine version.

Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
…ion IDs

Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
@vitormattos
vitormattos merged commit 1f0e4a8 into main Nov 4, 2026
8 checks passed
@vitormattos
vitormattos deleted the fix/support-signed-ci-rulesets branch November 4, 2026 18:18
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