diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 2c9027f..2d54a42 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -7,8 +7,50 @@ on: branches: [main, master] jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.11" + cache: 'pip' + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install ruff + + - name: Lint with ruff + run: ruff check src/ tests/ + + type-check: + runs-on: ubuntu-latest + needs: lint + + steps: + - uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.11" + cache: 'pip' + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -e ".[dev]" + pip install types-PyYAML types-Markdown + + - name: Type check with mypy + run: python -m mypy src/ --python-version 3.10 --ignore-missing-imports --no-error-summary || true + test: runs-on: ubuntu-latest + needs: type-check strategy: matrix: python-version: ["3.10", "3.11", "3.12"] @@ -27,18 +69,8 @@ jobs: python -m pip install --upgrade pip pip install -e ".[dev]" - - name: Install type stubs - run: | - pip install types-PyYAML types-Markdown - - - name: Lint with ruff - run: ruff check src/ tests/ - - - name: Type check with mypy - run: python -m mypy src/ --python-version 3.10 --ignore-missing-imports --no-error-summary 2>&1 || true - - name: Run tests - run: python -m pytest tests/ -v --cov=src --cov-report=xml + run: python -m pytest tests/ -v --tb=short - name: Upload coverage if: matrix.python-version == '3.11'