Run Tests #1189
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: Run Tests | |
| on: | |
| workflow_dispatch: # Allows this workflow to be manually triggered | |
| push: # Run for every push to and PR filed against main (renamed from master) | |
| branches: [ main ] | |
| pull_request: | |
| branches: [ main ] | |
| schedule: | |
| - cron: "0 0 * * *" # At the end of every day | |
| jobs: | |
| build: | |
| runs-on: ${{ matrix.os-version }} | |
| strategy: | |
| matrix: | |
| os-version: [ubuntu-22.04, ubuntu-latest] | |
| python-version: | |
| - "3.8" | |
| - "3.9" | |
| - "3.10" | |
| - "3.11" | |
| - "3.12" | |
| - "3.13" | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v2 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v5 | |
| with: | |
| enable-cache: true | |
| cache-dependency-glob: "uv.lock" | |
| - name: Install dependencies | |
| run: make install-deps | |
| - name: Lint (ruff, isort, black) | |
| run: make lint | |
| - name: Type check with mypy (Python >= 3.9) | |
| if: matrix.python-version != '3.8' | |
| run: make check | |
| - name: Run unit tests with coverage | |
| # Exclude dependencies in coverage report with --omit | |
| run: make coverage | |
| - name: Check Coverage Results | |
| # Could gate here to prevent pass under certain coverage % | |
| run: make coverage-report |