Quick reference for configuring branch protection rules.
Add these exact names to branch protection:
Run Tests
Test Coverage
Code Linting
CI Status
-
Navigate to Settings
Repository → Settings → Branches -
Add Branch Protection Rule
- Branch name pattern:
main - Click "Add rule"
- Branch name pattern:
-
Enable Required Checks
- ☑ Require status checks to pass before merging
- ☑ Require branches to be up to date before merging
- Search and select:
Run TestsTest CoverageCode LintingCI Status
-
Enable Pull Request Requirements
- ☑ Require a pull request before merging
- ☑ Require approvals: 1
- ☑ Dismiss stale pull request approvals when new commits are pushed
-
Additional Settings
- ☑ Require conversation resolution before merging
- ☑ Include administrators (recommended)
-
Save Changes
- Click "Create" or "Save changes"
-
Repeat for
developBranch- Follow same steps with pattern:
develop
- Follow same steps with pattern:
After setup, create a test PR and verify:
- ✅ Cannot merge without CI passing
- ✅ Cannot merge without approval
- ✅ Status checks appear in PR
Status checks not appearing?
- Ensure CI workflow has run at least once
- Check job names match exactly (case-sensitive)
- Re-run workflows if needed
Can still merge without checks?
- Verify "Require status checks" is enabled
- Check if you're an admin with override
- Ensure "Include administrators" is checked
| Setting | Value |
|---|---|
| Branch pattern | main |
| Required approvals | 1 |
| Required checks | 4 (test, coverage, lint, status) |
| Up to date | Yes |
| Conversations resolved | Yes |
| Include admins | Yes (recommended) |