|
54 | 54 | - name: Install dependencies |
55 | 55 | run: | |
56 | 56 | python -m pip install --upgrade pip |
57 | | - python -m pip install torch --index-url https://download.pytorch.org/whl/cpu |
| 57 | + # Install torch AND torchvision from the same CPU index so their compiled ops stay |
| 58 | + # ABI-coherent (open_clip / transformers pull torchvision; a PyPI torchvision against |
| 59 | + # a CPU-index torch breaks with "operator torchvision::nms does not exist"). |
| 60 | + python -m pip install torch torchvision --index-url https://download.pytorch.org/whl/cpu |
58 | 61 | # The client is a hard core dep not yet on PyPI, so install it editable BEFORE `pip install .`. |
59 | 62 | python -m pip install -e packages/pixano-inference-client |
60 | 63 | python -m pip install .[test,transformers] |
|
89 | 92 | - name: Install dependencies |
90 | 93 | run: | |
91 | 94 | python -m pip install --upgrade pip |
92 | | - python -m pip install torch --index-url https://download.pytorch.org/whl/cpu |
| 95 | + # torch + torchvision from the same index (open_clip needs matching torchvision ops). |
| 96 | + python -m pip install torch torchvision --index-url https://download.pytorch.org/whl/cpu |
93 | 97 | python -m pip install -e packages/pixano-inference-client # hard core dep, not yet on PyPI |
94 | 98 | python -m pip install .[test] |
95 | 99 | python -m pip install -e examples/numpy_detector # example entry-point plugin |
@@ -168,9 +172,28 @@ jobs: |
168 | 172 | python -m pip install -e examples/numpy_detector |
169 | 173 | pytest tests/test_plugins.py -v |
170 | 174 |
|
| 175 | + openapi: |
| 176 | + name: OpenAPI schema in sync |
| 177 | + runs-on: ubuntu-latest |
| 178 | + steps: |
| 179 | + - name: Checkout repository |
| 180 | + uses: actions/checkout@v4 |
| 181 | + |
| 182 | + # Generate the schema in the LOCKED environment (uv.lock) so the check is deterministic: |
| 183 | + # a fresh `pip install` resolves newer FastAPI/pydantic that emit a subtly different schema |
| 184 | + # than the committed docs/openapi.json (which is generated against the lockfile). |
| 185 | + - name: Install uv |
| 186 | + uses: astral-sh/setup-uv@v5 |
| 187 | + |
| 188 | + - name: Set up Python |
| 189 | + uses: actions/setup-python@v5 |
| 190 | + with: |
| 191 | + python-version: "3.12" |
| 192 | + |
171 | 193 | - name: Check the committed OpenAPI schema is in sync |
172 | 194 | run: | |
173 | | - python scripts/gen_openapi.py --check |
| 195 | + uv sync --no-default-groups |
| 196 | + uv run python scripts/gen_openapi.py --check |
174 | 197 |
|
175 | 198 | client_standalone: |
176 | 199 | name: Standalone client (no server deps) |
|
0 commit comments