Loading...

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.

VAST Orbit CI/CD pipeline: formatting, quality analysis, unit testing, coverage, documentation

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

Learn more →


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

Learn more →


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

Learn more →


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

Learn more →


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

Learn more →


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:

  1. Run formatters locally: black .

  2. Check code quality: pylint vastorbit

  3. Run tests: pytest

  4. Verify 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.


Pipeline Status

CI Status Code Coverage

Detailed Documentation