CI/CD Pipeline¶
Automated quality assurance and deployment for VAST Orbit.
Overview¶
VAST Orbit uses a comprehensive CI/CD pipeline to ensure code quality, consistency, and reliability. Every code change goes through automated checks before merging.
Pipeline Stages¶
1. Code Formatting¶
Tool: Black
Enforces consistent code style across the entire codebase.
What it does:
Automatically formats Python code
Ensures consistent style
Removes style debates from code reviews
Why it matters:
Improves readability
Reduces cognitive load
Maintains professional appearance
2. Code Quality Analysis¶
Tool: Pylint
Static code analysis to identify potential issues and enforce standards.
What it checks:
Code complexity
Naming conventions
Potential bugs
Best practices
Benefits:
Catches issues early
Enforces standards
Improves maintainability
3. Unit Testing¶
Tool: Pytest
Comprehensive test suite across multiple Python environments.
Test coverage:
Python 3.12+
Linux and macOS
Multiple database configurations
Edge cases and regression tests
Ensures:
No regressions
Feature stability
Cross-platform compatibility
4. Coverage Analysis¶
Tool: Codecov
Tracks test coverage to ensure comprehensive testing.
Metrics tracked:
Line coverage
Branch coverage
Function coverage
File-by-file breakdown
Target:
Minimum 80% coverage
100% on critical paths
No coverage regressions
5. Documentation¶
Tool: Sphinx
Automatically builds and deploys documentation on every merge.
Auto-generated:
API documentation
Code examples
Release notes
Version history
Always current:
Synced with code
Updated on every merge
Published automatically
Benefits¶
- Fast Feedback
Issues caught in minutes, not days
- Consistent Quality
Every PR meets the same standards
- Reduced Errors
Automated checks catch common mistakes
- Better Collaboration
Clear expectations for all contributors
- Confidence
Every merge maintains stability
For Contributors¶
Before Submitting a PR:
Run formatters locally:
black .Check code quality:
pylint vastorbitRun tests:
pytestVerify coverage:
pytest --cov
What to Expect:
All checks must pass before merge
Failed checks include detailed error messages
Documentation updates automatically
Feedback typically within 10 minutes
Tip
Set up pre-commit hooks to run checks automatically before each commit. See our contributing guide for setup instructions.