CI Fixes #41
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| pull_request: | |
| jobs: | |
| quality: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.11" | |
| - name: Install root development dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install -r requirements-dev.txt | |
| - name: Install agent service dependencies | |
| run: | | |
| pip install -r agent_service/requirements.txt | |
| - name: Ruff correctness check | |
| run: ruff check . --select F821 | |
| - name: Tests | |
| env: | |
| PYTHONPATH: . | |
| run: python -m pytest -q | |
| - name: Quality gate | |
| run: python portfolio_quality/quality_gate.py . | |
| # The deterministic evaluator is a reusable benchmark harness and requires | |
| # explicit --source/--target arguments. CI does not have a checked-in | |
| # benchmark pair, so it is intentionally not invoked as a unit test here. | |
| - name: Compile check | |
| run: python -m compileall -q agent_service streamlit_ui evaluation portfolio_quality tests | |
| - name: Validate Docker Compose | |
| run: docker compose config | |
| - name: Build agent image | |
| run: docker build -t ai-code-modernization-api:ci agent_service | |
| - name: Build UI image | |
| run: docker build -t ai-code-modernization-ui:ci streamlit_ui |