This directory contains GitHub Actions workflows for the MAAS CPU Analyzer project.
Triggers: Push to main/develop, Pull requests to main/develop
Jobs:
- Test Suite: Runs tests on Python 3.9, 3.10, 3.11, 3.12
- Code Quality: Runs linting, type checking, and formatting checks
- Security Scan: Runs security vulnerability checks
- Build Package: Builds and validates the Python package
- Release: Publishes to PyPI (only on main branch pushes)
Triggers: Pull requests to main/develop
Jobs:
- PR Quality Checks: Comprehensive quality checks including:
- Unit and integration tests
- Linting and type checking
- Formatting validation
- Security checks
- TODO/FIXME comment detection
- Debug print statement detection
- Test Coverage: Generates and uploads coverage reports
- Dependency Security Check: Checks for security vulnerabilities
Triggers: Git tags (v*), Manual dispatch
Jobs:
- Test Before Release: Runs full test suite on all Python versions
- Build and Release:
- Builds the package
- Publishes to PyPI
- Creates GitHub release with assets
Triggers: Weekly schedule (Mondays), Manual dispatch
Jobs:
- Check for Dependency Updates:
- Identifies outdated packages
- Generates dependency tree
- Runs security checks
- Test with Updated Dependencies:
- Updates dependencies
- Runs tests
- Creates PR with updates (manual trigger only)
Triggers: Push to main/develop, Pull requests to main, Daily schedule
Jobs:
- Analyze: Runs GitHub's CodeQL security analysis
Triggers: Completion of CI/CD Pipeline or PR Checks
Jobs:
- Check Workflow Status: Monitors workflow completion status
- Automatically creates PRs for dependency updates
- Updates pip dependencies weekly
- Updates GitHub Actions weekly
- Bug Report: Structured template for bug reports
- Feature Request: Template for feature requests
- Comprehensive checklist for PR submissions
- Ensures code quality and testing standards
# Run tests locally
make test
# or
tox
# Run specific checks
make lint
make format
make security
# Run with coverage
make test-coverageThe workflows automatically run on:
- Push to main/develop: Full CI/CD pipeline
- Pull requests: Quality checks and tests
- Git tags: Release process
- Weekly schedule: Dependency updates and security scans
For full functionality, add these secrets to your repository:
PYPI_API_TOKEN: PyPI API token for publishing packages
Add these badges to your README.md:


- Automated Testing: Ensures code quality across multiple Python versions
- Security Scanning: Regular vulnerability checks and CodeQL analysis
- Dependency Management: Automated updates and security monitoring
- Release Automation: Streamlined package publishing process
- Code Quality: Enforced linting, formatting, and type checking
- Coverage Tracking: Monitors test coverage and reports to Codecov
- Documentation: Automated documentation building and validation