-
Notifications
You must be signed in to change notification settings - Fork 2
Closed
Labels
Description
Objective
Create a .github/settings.yml file to codify branch protection rules for the main branch, making required status checks version controlled.
Context
Currently, branch protection rules are configured manually in the GitHub UI. This creates risks:
- Settings can drift over time
- Configuration is lost during repository transfers
- No audit trail for changes to protection rules
Approach
- Create
.github/settings.ymlfile - Define protection rules for
mainbranch:- Require status checks: Build and Lint (Node 18, 20, 22), Test Coverage, TypeScript Type Check, Test Examples, CodeQL, Trivy Container Scan
- Require 1 approving review
- Enforce up-to-date branches before merge
- Document the configuration in README or CONTRIBUTING.md
Files to Create/Modify
- Create:
.github/settings.yml - Update:
README.mdorCONTRIBUTING.md(document the settings file)
Acceptance Criteria
-
.github/settings.ymlexists with comprehensive branch protection rules - All currently required status checks are included
- PR review requirements are specified
- Configuration is documented for maintainers
References
- Probot Settings App: https://github.com/probot/settings
- Current workflows:
.github/workflows/*.yml(for status check names)
Related to [plan] improve ci/cd pipeline and quality gates #348
AI generated by Plan Command for discussion #345
Reactions are currently unavailable