This directory contains GitHub-specific configuration files for the rudder2snipe project.
.github/
├── ISSUE_TEMPLATE/
│ ├── bug_report.md # Template for bug reports
│ └── feature_request.md # Template for feature requests
├── workflows/
│ └── ci.yml # CI/CD pipeline configuration
├── pull_request_template.md # Template for pull requests
└── README.md # This file
This repository has the following branch protection rules configured on the main branch:
-
Require pull request reviews before merging: ✅
- Required approving reviews: 1
- Dismiss stale reviews when new commits are pushed: ✅
-
Require status checks to pass before merging: ✅
- Require branches to be up to date before merging: ✅
- Required status checks:
test(CI pipeline)security(Security scans)validate-config(Configuration validation)
-
Require conversation resolution before merging: ✅
-
Restrict pushes that create files larger than 100 MB: ✅
-
Do not allow bypassing the above settings: ✅
-
Include administrators: ✅
- No direct pushes to the
mainbranch - All changes must go through Pull Requests
- PRs must be reviewed and approved
- All CI checks must pass
- Even administrators must follow these rules
- Fork the repository
- Create a feature branch
- Make your changes
- Push to your fork
- Create a Pull Request
- Wait for review and approval
- Once approved and checks pass, changes will be merged
- Review pull requests
- Ensure CI checks pass
- Approve changes
- Merge using "Squash and merge" for clean history
The CI pipeline runs on:
- Every push to
main - Every pull request to
main
- Multi-version Python testing (3.7-3.11)
- Code linting with flake8 and pylint
- Security scanning with bandit and safety
- Syntax validation
- Configuration validation
- Basic functionality tests
- Bug Report: Structured template for reporting bugs
- Feature Request: Template for suggesting new features
- Comprehensive checklist for contributors
- Required information for reviewers
- Testing validation requirements
To update branch protection rules:
- Go to Repository Settings
- Navigate to "Branches" in the sidebar
- Edit the rule for the
mainbranch - Update as needed
To update CI workflow:
- Edit
.github/workflows/ci.yml - Test changes in a PR first
- Merge after validation