Skip to content

Feat(SQO): Introduce minimal CI/CD pipeline #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 19 commits into from
Jun 6, 2025
Merged

Conversation

MoonBoi9001
Copy link
Member

@MoonBoi9001 MoonBoi9001 commented Jun 5, 2025

Summary

This PR introduces a CI/CD pipeline for the Service Quality Oracle, along some code quality improvements.

New Features

CI/CD Pipeline

  • Code Quality Pipeline (ci.yml): Automated ruff linting/formatting, MyPy type checking, Python syntax validation, and configuration validation
  • Testing Pipeline (tests.yml): Auto-detects and runs unit/integration tests with coverage reporting
  • Security Pipeline (security.yml): Daily dependency scans (Safety), code security (Bandit), secrets detection (TruffleHog), and Docker vulnerability scanning (Trivy)
  • PR Validation (pr-check.yml): Enforces non-empty PR titles/descriptions and merge conflict detection

Developer Tooling

  • Revised Ruff Script (scripts/ruff_check_format_assets.sh): Small update.
  • CI/CD Documentation (.github/README.md): Documentation and development setup guide

Code Quality Improvements

  • MyPy Type Checking
  • Import Organization
  • Revised config_loader.py

Project Structure

  • Added pytest configuration
  • Cleaned and organized requirements.txt

Requirements for PRs

  • Non-empty PR title and description
  • Pass all code quality checks (ruff, mypy)
  • Docker build must succeed
  • No merge conflicts
  • Security scans must pass

Testing

  • Auto-detection of test files in tests/ directory
  • Coverage reporting for source code
  • Integration test support with Docker validation

@MoonBoi9001 MoonBoi9001 marked this pull request as ready for review June 6, 2025 11:49
@MoonBoi9001 MoonBoi9001 merged commit 8131872 into main Jun 6, 2025
9 checks passed
@MoonBoi9001 MoonBoi9001 deleted the TODO_continue branch June 6, 2025 11:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant