Branch Protection - Main
Standard för hur main-branchen skyddas i detta repository.
Ruleset: Main branch protection
Target: Default branch (main)
Enforcement: Active
Regler
| Regel | Beskrivning |
|---|---|
| Deletion | Förhindrar att branchen raderas |
| Non-fast-forward | Blockerar force push |
| Required linear history | Kräver linjär historik (squash/rebase) |
| Pull request | Kräver PR med godkännande innan merge |
Pull request-krav
| Parameter | Värde | Beskrivning |
|---|---|---|
required_approving_review_count |
1 | Minst 1 godkännande krävs |
dismiss_stale_reviews_on_push |
true | Tidigare godkännanden ogiltigförklaras vid ny push |
require_code_owner_review |
true | En code owner (enligt CODEOWNERS) måste godkänna |
require_last_push_approval |
true | Den som pushar sist kan inte själv godkänna |
required_review_thread_resolution |
false | Review-trådar behöver inte vara lösta |
allowed_merge_methods |
squash | Enbart squash merge tillåts |
Bypass
Repository-administratörer (RepositoryRole 5) kan bypassa reglerna vid nödsituationer.
Vad innebär require_code_owner_review?
När require_code_owner_review är aktiverat räcker det inte att vem som helst godkänner en PR. Minst en person som listas i CODEOWNERS för de ändrade filerna måste godkänna.
Exempel:
- Du ändrar
.github/workflows/ci.yml→ @mastertyko eller @Kristofers måste godkänna (de äger/.github/) - Du ändrar
.github/CODEOWNERS→ @Andreas-Samhall eller @Rickard-Samhall måste godkänna
Utan denna regel tilldelas code owners fortfarande som reviewers, men det är bara en rekommendation - vem som helst med skrivrättigheter kan godkänna.
Konfiguration
Ruleset-konfigurationen finns i branch-protection.json.
Konfigurera via CLI
# Läs nuvarande rulesets
gh api repos/Samhall-AB/arkitektur/rulesets
# Visa detaljer för ett specifikt ruleset
gh api repos/Samhall-AB/arkitektur/rulesets/RULESET_ID
# Skapa ruleset från JSON-filen
gh api repos/Samhall-AB/arkitektur/rulesets --method POST --input docs/standards/branch-protection/branch-protection.json
# Uppdatera befintligt ruleset
gh api repos/Samhall-AB/arkitektur/rulesets/RULESET_ID --method PUT --input docs/standards/branch-protection/branch-protection.json