Skip to content

Fix: removed test.pypi.org #15

Fix: removed test.pypi.org

Fix: removed test.pypi.org #15

Workflow file for this run

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 TestIQ coverage
run: |
pytest tests/ --testiq-output=testiq_coverage.json -q
- name: Analyze test quality with TestIQ
run: |
testiq analyze testiq_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 testiq_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