fix(deps): update dependency polars to <1.44 (#2481) #795
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 | |
| paths: | |
| - "packages/**/*.py" | |
| - "src/**/*.py" | |
| - "dg_projects/**/*.py" | |
| - "**/pyproject.toml" | |
| - ".github/workflows/pytest.yaml" | |
| - ".github/scripts/discover_pytest_suites.py" | |
| pull_request: | |
| paths: | |
| - "packages/**/*.py" | |
| - "src/**/*.py" | |
| - "dg_projects/**/*.py" | |
| - "**/pyproject.toml" | |
| - ".github/workflows/pytest.yaml" | |
| - ".github/scripts/discover_pytest_suites.py" | |
| workflow_dispatch: | |
| jobs: | |
| # Discover every pytest suite (any pyproject.toml dir with a tests/ or | |
| # <project>_tests/ folder that has test files) so new code locations — | |
| # especially dg_projects/* — are covered automatically as tests are added. | |
| discover: | |
| runs-on: ubuntu-latest | |
| outputs: | |
| matrix: ${{ steps.find.outputs.matrix }} | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| - name: Discover pytest suites | |
| id: find | |
| run: python3 .github/scripts/discover_pytest_suites.py >> "$GITHUB_OUTPUT" | |
| test: | |
| name: pytest (${{ matrix.suite.name }}) | |
| needs: discover | |
| # Skip gracefully if discovery found no suites — an empty matrix dimension | |
| # otherwise errors ("Matrix vector 'suite' does not contain any values"). | |
| if: needs.discover.outputs.matrix != '[]' | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| suite: ${{ fromJson(needs.discover.outputs.matrix) }} | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v8.3.2 | |
| with: | |
| version: "0.11.32" | |
| enable-cache: true | |
| - name: Set up Python | |
| run: uv python install 3.13 | |
| # Each suite syncs from its own directory: standalone projects (src/ol_dlt, | |
| # src/ol_superset, dg_projects/*) resolve their own env; workspace members | |
| # resolve the shared root environment. | |
| - name: Install dependencies | |
| working-directory: ${{ matrix.suite.directory }} | |
| run: uv sync --all-extras | |
| # pytest-cov is injected via --with so coverage works uniformly even for | |
| # suites that don't declare it as a dev dependency. | |
| - name: Run pytest | |
| working-directory: ${{ matrix.suite.directory }} | |
| run: | | |
| uv run --with pytest-cov pytest ${{ matrix.suite.testpath }} \ | |
| --verbose \ | |
| --cov \ | |
| --cov-report=term-missing \ | |
| --cov-report=xml | |
| - name: Upload coverage reports | |
| if: always() | |
| uses: codecov/codecov-action@v6 | |
| with: | |
| file: ${{ matrix.suite.directory }}/coverage.xml | |
| flags: ${{ matrix.suite.name }} | |
| name: ${{ matrix.suite.name }} | |
| fail_ci_if_error: false |