Add module docstrings Fix #7 (#38) #45
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: Python Tests | |
| permissions: | |
| contents: read | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| workflow_dispatch: | |
| inputs: | |
| e2e: | |
| description: Run end-to-end tests | |
| required: false | |
| default: false | |
| type: boolean | |
| jobs: | |
| unit: | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, macos-latest, windows-latest] | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Setup venv | |
| uses: ./.github/actions/setup-venv | |
| - name: Run quick tests | |
| id: run-quick-tests | |
| run: > | |
| uv run pytest \ | |
| -m "not slow and not full_pipeline" | |
| --junitxml=pytest-quick.xml \ | |
| --cov=src tests \ | |
| --log-level=DEBUG \ | |
| --verbose | |
| - name: Run slow tests (manual trigger) | |
| if: github.event_name == 'workflow_dispatch' | |
| run: > | |
| uv run pytest \ | |
| -m "slow and not full_pipeline" \ | |
| --junitxml=pytest-slow.xml \ | |
| --cov=src tests \ | |
| --cov-append \ | |
| --verbose | |
| - name: Run full pipeline tests (manual trigger) | |
| if: github.event_name == 'workflow_dispatch' && inputs.e2e == true | |
| run: > | |
| uv run pytest \ | |
| -m "full_pipeline" \ | |
| --junitxml=pytest-full.xml \ | |
| --cov=src tests \ | |
| --cov-append \ | |
| --verbose | |
| - name: Generate coverage report | |
| run: > | |
| uv run pytest \ | |
| --cov-report=term-missing:skip-covered \ | |
| --cov-report=xml:coverage.xml \ | |
| --cov=src \ | |
| --cov-report-only | |
| - name: Upload coverage to Codecov | |
| uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| files: ./coverage.xml | |
| verbose: true | |
| ruff: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Setup venv | |
| uses: ./.github/actions/setup-venv | |
| with: | |
| only-dev: true | |
| - name: Ruff format | |
| run: uv run ruff format --check | |
| - name: Ruff check | |
| run: uv run ruff check | |
| mypy: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Setup venv | |
| uses: ./.github/actions/setup-venv | |
| - run: | | |
| uv run mypy . | |
| deptry: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Setup venv | |
| uses: ./.github/actions/setup-venv | |
| - run: |- | |
| uv run deptry ./src |