The contributor docs described repository settings that are not in place. security.md marked "Require status checks", "Require branch to be up to date" and "Require signed commits" as enforced, but the active ruleset `Main` has no required_status_checks and no required_signatures rule, and the separate `Signed` ruleset is disabled. repository.md listed Dependabot alerts, security and version updates, secret scanning and push protection as disabled although all of them are on, and its summary repeated the two rules that are not enforced. branch.md claimed branch protection enforces the branch naming rules, while only the PR validation run checks the prefix. Three pages still described a hadolint SARIF job in call-lint.yml that no longer exists, which hid that nothing uploads the Hadolint results the ruleset asks for. The pages now state what the ruleset and the repository settings enforce today, name the policy pages for rules that are policy only, and record that no workflow uploads Hadolint results. Scorecard alerts 472, 504 and 505 depend on repository settings and process and stay open; 507 and 539 are no longer reported on main. Refs #853 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
4.5 KiB
Branch Protection 🔒
See also repository.md for repository-wide security settings.
Enforcement 🔒
- Ruleset
Mainis Enabled (Enforced)
👉 Meaning for contributors:
- Every rule marked ✅ in this document is actively enforced on the default branch (
main). - Rules marked ❌ are not part of the ruleset and block nothing.
- Contributors MUST comply; violations will block pushes/merges.
Bypass 🚪
- Organization admins and repository admins can always bypass rules
👉 Meaning for contributors:
- Normal contributors MUST follow all rules
- Admins MAY merge without approvals or checks
Branch Target 🎯
- Applies to:
main(default branch)
👉 Meaning for contributors:
- All rules apply when targeting
main. - Feature branches are NOT restricted until a PR targets
main.
Restrictions 🚫
Restrict Updates ✅
- Direct pushes are blocked
👉 Contributor impact:
- You MUST NOT push directly to
main - You MUST use a Pull Request (PR)
Restrict Deletions ✅
- Protected branch cannot be deleted
👉 Contributor impact:
- You MUST NOT delete the main branch
Restrict Creations ❌
- Branch creation is allowed
👉 Contributor impact:
- You MAY create branches freely
Pull Request Requirements 📋
Require Pull Request ✅
👉 Contributor impact:
- You MUST open a PR to merge into
main - Direct commits to
mainare rejected
Required Approvals: 2 ✅
👉 Contributor impact:
- You MUST get 2 approvals before merging
- Self-approval does not count
Dismiss Stale Approvals ✅
👉 Contributor impact:
-
If you push new commits:
- Previous approvals are INVALIDATED
-
You MUST get approvals again
Require Code Owner Reviews ✅
👉 Contributor impact:
-
If you modify owned files:
- A CODEOWNER MUST approve
-
PR cannot be merged without them
Require Approval of Most Recent Push ✅
👉 Contributor impact:
-
After your last commit:
- Someone ELSE MUST approve again
-
You CANNOT approve your own changes
Require Conversation Resolution ✅
👉 Contributor impact:
- All review comments MUST be resolved
- Open discussions block merging
Require Review from Specific Teams ❌
👉 Contributor impact:
- No fixed team is always required
- Only CODEOWNERS matter
Merge Strategy 🔀
Allowed Merge Method: Merge ✅
👉 Contributor impact:
- PRs are merged using merge commits
- History MAY become non-linear
Require Linear History ❌
👉 Contributor impact:
- Merge commits ARE allowed
- You MAY see branching history
Require Merge Queue ❌
👉 Contributor impact:
- PRs can be merged immediately after approval
- No automatic queueing
Status Checks (CI/CD) ❌
Require Status Checks to Pass ❌
👉 Contributor impact:
- The ruleset names no required check, so a failing or missing CI run does not block the merge.
- CI in your fork still MUST be green before you open the PR, see pull-request.md.
Require Branch to Be Up-To-Date ❌
👉 Contributor impact:
- The ruleset does not block merging a branch that is behind
main. - Your branch still MUST be up to date with
main, see pull-request.md.
Security 🔐
Require Signed Commits ❌
👉 Contributor impact:
- The ruleset
Maindoes not reject unsigned commits. - The ruleset
Signed, which requires signed commits onmain, is disabled.
Block Force Pushes ✅
👉 Contributor impact:
- You MUST NOT rewrite history on protected branches
git push --forceis blocked
Code Scanning 🔬
Require Code Scanning Results ✅
Configured tools:
- CodeQL (High severity)
- Hadolint (High severity)
No workflow uploads Hadolint results to code scanning. Hadolint checks Dockerfile as lint-dockerfile inside make lint and writes no SARIF.
👉 Contributor impact:
- PR MUST NOT introduce high-severity issues
- Otherwise merge is blocked
Code Quality 🏆
Require Code Quality Results ✅
- Threshold: Warnings and higher
👉 Contributor impact:
- You MUST fix code quality issues before merge
Copilot Review 🤖
Automatically Request Copilot Review ✅
👉 Contributor impact:
- Copilot may automatically review your PR
- It may comment on issues
- It does not replace human approvals