|
38 | 38 | - '!LICENSE' |
39 | 39 | - '!NOTICE' |
40 | 40 |
|
| 41 | +permissions: |
| 42 | + contents: read |
| 43 | + |
41 | 44 | concurrency: |
42 | 45 | group: ${{ github.workflow }}-${{ github.ref }} |
43 | 46 | cancel-in-progress: ${{ github.event_name == 'pull_request' }} |
|
62 | 65 | enable-cache: true |
63 | 66 | - name: Install system dependencies |
64 | 67 | run: sudo apt-get update && sudo apt-get install -y libkrb5-dev # for kerberos |
| 68 | + - name: Check uv.lock is up to date |
| 69 | + run: uv lock --check |
65 | 70 | - name: Install |
66 | 71 | run: make install |
67 | 72 | - name: Run linters |
@@ -194,9 +199,32 @@ jobs: |
194 | 199 | - name: Install dependencies |
195 | 200 | run: uv sync --group dev |
196 | 201 | - name: Download all coverage artifacts |
197 | | - uses: actions/download-artifact@v7 |
| 202 | + uses: actions/download-artifact@v8 |
198 | 203 | with: |
199 | 204 | pattern: coverage-* |
200 | 205 | merge-multiple: true |
201 | 206 | - name: Generate coverage report (75%) # Coverage threshold should only increase over time — never decrease it! |
202 | 207 | run: COVERAGE_FAIL_UNDER=75 make coverage-report |
| 208 | + |
| 209 | + cibw-dev-env-smoke-test: |
| 210 | + runs-on: ubuntu-latest |
| 211 | + steps: |
| 212 | + - uses: actions/checkout@v6 |
| 213 | + - uses: actions/setup-python@v6 |
| 214 | + with: |
| 215 | + python-version: '3.12' |
| 216 | + - name: Install UV |
| 217 | + uses: astral-sh/setup-uv@v7 |
| 218 | + with: |
| 219 | + enable-cache: true |
| 220 | + # Why this exists: |
| 221 | + # Catch import-time regressions (e.g., global conftest optional deps) |
| 222 | + # in the same dev-only environment used by cibuildwheel wheel tests. |
| 223 | + # Keep this in sync with wheel build test setup in |
| 224 | + # .github/workflows/pypi-build-artifacts.yml: |
| 225 | + # CIBW_BEFORE_TEST: uv sync --directory {project} --only-group dev --no-install-project |
| 226 | + # CIBW_TEST_COMMAND: uv run --directory {project} pytest tests/avro/test_decoder.py |
| 227 | + - name: Mirror wheel CIBW_BEFORE_TEST |
| 228 | + run: uv sync --directory . --only-group dev --no-install-project |
| 229 | + - name: Mirror wheel CIBW_TEST_COMMAND |
| 230 | + run: uv run --directory . pytest tests/avro/test_decoder.py |
0 commit comments