Skip to content

ci: stable required-checks gate for branch protection#2518

Merged
m3nu merged 2 commits into
masterfrom
ci/stable-required-checks
Jun 8, 2026
Merged

ci: stable required-checks gate for branch protection#2518
m3nu merged 2 commits into
masterfrom
ci/stable-required-checks

Conversation

@m3nu

@m3nu m3nu commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

Problem

Branch protection on master requires status checks by exact name. The test-unit / test-integration matrix jobs auto-generate names that embed the Borg version, e.g. test-unit (3.12, ubuntu-24.04, 1.4.4). There is no way to give a matrix job a fully static per-entry name.

So protection currently still pins stale contexts (...1.4.2, ...1.4.3) while the matrix runs 1.4.4. Those checks never report under the old names and sit pending forever — PRs like #2517 can't satisfy protection without an admin override. Every Borg bump silently re-breaks the gate.

Fix

Add a single aggregate gate job, required-checks, with a fixed name that needs lint + test-unit + test-integration. Branch protection can then require only the stable contexts (lint, required-checks), fully decoupling protection from the matrix. Future Borg bumps need no protection changes.

Inline bash decides pass/fail (no third-party action). if: always() ensures the gate reports even when a matrix job fails.

Follow-up (admin, after this merges)

Once required-checks has reported once on master, update protection contexts to ["lint", "required-checks"].

m3nu and others added 2 commits June 8, 2026 13:34
Matrix test jobs embed the Borg version in their auto-generated check
names (e.g. "test-unit (3.12, ubuntu-24.04, 1.4.4)"), so requiring them
in branch protection breaks on every version bump. Add a single
aggregate gate job with a fixed name that depends on lint, test-unit and
test-integration. Branch protection can then require the stable
"required-checks" context instead of version-bearing names.
@m3nu m3nu merged commit 45c6ef5 into master Jun 8, 2026
4 checks passed
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