fix: Remove 'uv run' prefix from CI commands to use system-installed … #11
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: | |
| branches: [ main, develop ] | |
| pull_request: | |
| branches: [ main, develop ] | |
| jobs: | |
| test: | |
| name: Test Python 3.13 | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v4 | |
| with: | |
| version: "latest" | |
| - name: Set up Python 3.13 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.13" | |
| - name: Install dependencies | |
| run: | | |
| uv pip install --system -e ".[dev]" | |
| - name: Run ruff (lint) | |
| run: | | |
| ruff check src/ tests/ | |
| continue-on-error: true | |
| - name: Run ruff (format check) | |
| run: | | |
| ruff format --check src/ tests/ | |
| continue-on-error: true | |
| - name: Run black (format check) | |
| run: | | |
| black --check src/ tests/ | |
| continue-on-error: true | |
| - name: Run mypy (type check) | |
| run: | | |
| mypy src/ | |
| continue-on-error: true | |
| - name: Run tests with coverage | |
| run: | | |
| pytest tests/ -v --cov=testiq --cov-report=xml --cov-report=json --cov-report=term | |
| - name: Upload coverage to Codecov | |
| uses: codecov/codecov-action@v4 | |
| with: | |
| file: ./coverage.xml | |
| fail_ci_if_error: false | |
| quality-gate: | |
| name: TestIQ Quality Gate (Dogfooding) | |
| runs-on: ubuntu-latest | |
| needs: test | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v4 | |
| - name: Set up Python 3.13 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.13" | |
| - name: Install TestIQ | |
| run: | | |
| uv pip install --system -e . | |
| - name: Run tests with coverage | |
| run: | | |
| uv pip install --system pytest pytest-cov | |
| pytest --cov=src/testiq --cov-report=json | |
| - name: Analyze test quality with TestIQ | |
| run: | | |
| testiq analyze coverage.json \ | |
| --quality-gate \ | |
| --max-duplicates 10 \ | |
| --save-baseline ci-baseline | |
| continue-on-error: true | |
| - name: Generate HTML report | |
| if: always() | |
| run: | | |
| mkdir -p reports | |
| testiq analyze coverage.json --format html --output reports/testiq-report.html | |
| - name: Upload TestIQ report | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: testiq-quality-report | |
| path: reports/testiq-report.html | |
| retention-days: 30 | |
| demo: | |
| name: Test Demo Command | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v4 | |
| - name: Set up Python 3.13 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.13" | |
| - name: Install package | |
| run: | | |
| uv pip install --system -e . | |
| - name: Run demo | |
| run: | | |
| testiq demo |