forked from sergts/botnet-traffic-analysis
-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
enhancementNew feature or requestNew feature or requestmodernizationModernizing code, dependencies, and structureModernizing code, dependencies, and structure
Description
Goal
Implement comprehensive CI/CD pipeline using GitHub Actions.
Workflows to Create
1. Continuous Integration (ci.yaml)
- Code formatting check (black)
- Linting (pylint)
- Type checking (mypy)
- Import sorting (isort)
- Runs on push to main/develop and all PRs
2. Testing (tests.yaml)
- Unit tests (pytest)
- Integration tests
- Code coverage (codecov)
- Multiple Python versions (3.11, 3.12)
3. Documentation (docs.yaml)
- Generate architecture diagrams
- Build API documentation (pdoc3)
- Deploy to GitHub Pages
- Triggers on push to main
4. Release (release.yaml)
- Build Python package
- Create GitHub release
- Upload artifacts
- Triggers on version tags (v*)
Directory Structure
.github/
├── workflows/
│ ├── ci.yaml
│ ├── tests.yaml
│ ├── docs.yaml
│ └── release.yaml
├── ISSUE_TEMPLATE/
│ ├── bug_report.md
│ ├── feature_request.md
│ └── config.yml
└── PULL_REQUEST_TEMPLATE.md
Deliverables
- Create ci.yaml workflow
- Create tests.yaml workflow
- Create docs.yaml workflow
- Create release.yaml workflow
- Create issue templates
- Create PR template
- Set up branch protection rules
- Configure required checks
- Set up GitHub secrets (if needed)
- Test all workflows
Branch Protection
Configure main branch:
- Require PR reviews
- Require status checks to pass
- Require branches to be up to date
- Require signed commits (optional)
Related
- Part of MODERNIZATION_ROADMAP.md Phase 4.1
- Requires Directory Restructuring - Modern src/ Layout #26 (Directory Restructuring) to be complete
- Related to Comprehensive Documentation Overhaul #29 (Pre-commit hooks)
Priority
HIGH - Critical for code quality and automation
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestmodernizationModernizing code, dependencies, and structureModernizing code, dependencies, and structure