GitHub¶
Branch Protection¶
Settings -> Branches -> Add branch protection rule
The branch name pattern should cover your main and development branches. Common values are:
mainmain|develop
Enable the following options:
- Check
Require a pull request before merging - Set
Require approvalsto1or more depending on your project team size - Check
Dismiss stale pull request approvals when new commits are pushed - Check
Require approval of the most recent reviewable push - Check
Require status checks to pass before merging - Check
Require conversation resolution before merging - Check
Require linear history - Check
Do not allow bypassing the above settings
Tag Protection¶
Settings -> Tags -> New rule
Create a rule with the following name pattern: v*
This will ensure that tags can only be created by authorized users.
Code security and analysis¶
Security -> Code security and analysis
- Enable
Private vulnerability reporting - Set
Code scanning->Pull request check failureset toMedium or higher / only errorsto evaluate sarif uploads from the ci pipeline. - Enable
Secret scanningto receive alerts on GitHub for detected secrets, keys, or other tokens that get commited into your repository accidentally. - Enable
Secret scanning->Push protectionto prevent secrets from being pushed to your repository.
Dependency Updates¶
Select one of the following options:
Static Code Analysis¶
Select one of the following options: