=== Coverage reporting ===
      run: uv sync --all-groups --frozen

    - name: Run tests with coverage
      run: uv run pytest -vv --cov=mcp_server --cov=slash_commands --cov-report=term-missing:skip-covered --cov-report=xml


    - name: Upload coverage.xml artifact
      uses: actions/upload-artifact@v4
      with:
        name: coverage-xml-${{ matrix.python }}
        path: coverage.xml

    - name: Upload coverage to Codecov
      uses: codecov/codecov-action@v4
      with:
        files: coverage.xml
        flags: unittests
        fail_ci_if_error: false

lint:
  name: Lint (uv + ruff)
  runs-on: ubuntu-latest
  steps:
    - name: Checkout
      uses: actions/checkout@v4
