Add more support for typing, fix some typing-related edge case bugs #415
Workflow file for this run
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: Test | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| workflow_dispatch: | |
| jobs: | |
| linting-and-coverage: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.10" | |
| - name: Check formatting with Ruff | |
| uses: astral-sh/ruff-action@v3 | |
| with: | |
| args: format --check --diff --exclude docs,tests | |
| - name: Lint with Ruff | |
| uses: astral-sh/ruff-action@v3 | |
| with: | |
| args: check --exclude docs,tests | |
| - name: Install package and its dependencies | |
| run: pip install --editable .[dev,idxml] | |
| - name: Test with pytest and codecov | |
| run: | | |
| pytest --cov=psm_utils --cov-report=xml tests/ | |
| - name: Upload coverage reports to Codecov | |
| uses: codecov/codecov-action@v3 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| file: ./coverage.xml | |
| flags: unittests | |
| name: codecov-umbrella | |
| fail_ci_if_error: false | |
| test-platforms: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| python-version: ["3.10", "3.11", "3.12", "3.13"] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install package and its dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install .[dev] | |
| - name: Install optional dependencies that might not be available | |
| continue-on-error: true | |
| run: pip install .[idxml] | |
| - name: Test imports | |
| run: python -c "import psm_utils" | |
| - name: Test with pytest | |
| run: | | |
| pytest |