- Code Quality: Custom ruff script, MyPy, syntax validation
- Docker Build: Image build and compose validation
- Runs on: PRs and pushes to
main
- Unit/Integration Tests: Auto-detects and runs tests when they exist
- Runs on: PRs and pushes to
main
- Daily Scans: Dependencies (Safety), code security (Bandit), secrets (TruffleHog), Docker (Trivy)
- Runs on: Daily 2 AM UTC, PRs, pushes to
main
- Basic Validation: Non-empty PR title/description, merge conflict check
- Runs on: PRs to
main
Before pushing:
# Setup venv
python3 -m venv venv
source venv/bin/activate
# Install requirements
pip install -r requirements.txt
# Use the custom ruff script for linting (includes SQL formatting and aggressive linting)
./scripts/ruff_check_format_assets.sh
Optional checks:
mypy src/ --ignore-missing-imports
bandit -r src/
- Non-empty PR title/description
- Pass code quality checks (ruff script must not make changes)
- Docker must build successfully
- No merge conflicts
Create test files in tests/
directory - CI will auto-detect and run them.