5555 max-parallel : 1
5656 fail-fast : false
5757 matrix :
58- python-version : ["3.11 "]
58+ python-version : ["3.14 "]
5959 os : [ubuntu-latest]
6060 defaults :
6161 run :
@@ -67,16 +67,21 @@ jobs:
6767 COMPLETIONS_CONCEPT_SAMPLE : " true"
6868 steps :
6969 - uses : actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
70+ - name : Set up Python
71+ uses : actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
72+ with :
73+ python-version : ${{ matrix.python-version }}
7074 - name : Set up uv
7175 uses : astral-sh/setup-uv@d0cc045d04ccac9d8b7881df0226f9e82c39688e # v6.8.0
7276 with :
73- version : " 0.5 .x"
77+ version : " 0.13 .x"
7478 enable-cache : true
7579 cache-suffix : ${{ runner.os }}-${{ matrix.python-version }}
7680 cache-dependency-glob : " **/uv.lock"
7781 - name : Install dependencies
7882 run : |
79- uv sync --all-extras --dev
83+ uv venv
84+ uv pip install --editable . --requirements pyproject.toml --all-extras --group dev --upgrade --prerelease=if-necessary-or-explicit
8085 - name : Google auth
8186 uses : google-github-actions/auth@7c6bc770dae815cd3e89ee6cdf493a5fab2cc093 # v3.0.0
8287 with :
@@ -158,7 +163,7 @@ jobs:
158163 BEDROCK_AGENT_FOUNDATION_MODEL : ${{ vars.BEDROCK_AGENT_FOUNDATION_MODEL }}
159164 shell : bash
160165 run : |
161- uv run pytest -v --log-cli-level=INFO --durations=20 -n logical --dist loadfile --dist worksteal -m "not ollama" -k "not bedrock" ./tests/integration/completions ./tests/integration/embeddings ./tests/samples ./tests/integration/cross_language
166+ uv run --no-sync pytest -v --log-cli-level=INFO --durations=20 -n logical --dist loadfile --dist worksteal -m "not ollama" -k "not bedrock" ./tests/integration/completions ./tests/integration/embeddings ./tests/samples ./tests/integration/cross_language
162167
163168 python-merge-gate-multi-modality :
164169 name : Python Pre-Merge Integration Tests - Multi-Modality
@@ -171,7 +176,7 @@ jobs:
171176 max-parallel : 1
172177 fail-fast : false
173178 matrix :
174- python-version : ["3.11 "]
179+ python-version : ["3.14 "]
175180 os : [ubuntu-latest]
176181 defaults :
177182 run :
@@ -182,15 +187,20 @@ jobs:
182187 UV_PYTHON : ${{ matrix.python-version }}
183188 steps :
184189 - uses : actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
190+ - name : Set up Python
191+ uses : actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
192+ with :
193+ python-version : ${{ matrix.python-version }}
185194 - name : Set up uv
186195 uses : astral-sh/setup-uv@d0cc045d04ccac9d8b7881df0226f9e82c39688e # v6.8.0
187196 with :
188- version : " 0.5 .x"
197+ version : " 0.13 .x"
189198 enable-cache : true
190199 cache-suffix : ${{ runner.os }}-${{ matrix.python-version }}
191200 - name : Install dependencies
192201 run : |
193- uv sync --all-extras --dev
202+ uv venv
203+ uv pip install --editable . --requirements pyproject.toml --all-extras --group dev --upgrade --prerelease=if-necessary-or-explicit
194204 - name : Azure CLI Login
195205 uses : azure/login@7184910d9eb2b1c5e48f7073824a90609bb9b6d6 # v2.3.1
196206 with :
@@ -202,7 +212,7 @@ jobs:
202212 env : *integration-env
203213 shell : bash
204214 run : |
205- uv run pytest -v --log-cli-level=INFO --durations=20 -n logical --dist loadfile --dist worksteal ./tests/integration/audio_to_text ./tests/integration/text_to_audio ./tests/integration/text_to_image
215+ uv run --no-sync pytest -v --log-cli-level=INFO --durations=20 -n logical --dist loadfile --dist worksteal ./tests/integration/audio_to_text ./tests/integration/text_to_audio ./tests/integration/text_to_image
206216
207217 python-merge-gate-agents :
208218 name : Python Pre-Merge Integration Tests - Agents
@@ -215,7 +225,7 @@ jobs:
215225 max-parallel : 1
216226 fail-fast : false
217227 matrix :
218- python-version : ["3.11 "]
228+ python-version : ["3.14 "]
219229 os : [ubuntu-latest]
220230 defaults :
221231 run :
@@ -226,15 +236,20 @@ jobs:
226236 UV_PYTHON : ${{ matrix.python-version }}
227237 steps :
228238 - uses : actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
239+ - name : Set up Python
240+ uses : actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
241+ with :
242+ python-version : ${{ matrix.python-version }}
229243 - name : Set up uv
230244 uses : astral-sh/setup-uv@d0cc045d04ccac9d8b7881df0226f9e82c39688e # v6.8.0
231245 with :
232- version : " 0.5 .x"
246+ version : " 0.13 .x"
233247 enable-cache : true
234248 cache-suffix : ${{ runner.os }}-${{ matrix.python-version }}
235249 - name : Install dependencies
236250 run : |
237- uv sync --all-extras --dev
251+ uv venv
252+ uv pip install --editable . --requirements pyproject.toml --all-extras --group dev --upgrade --prerelease=if-necessary-or-explicit
238253 - name : Configure AWS Credentials
239254 # Bedrock tests are disabled while the integration credentials are invalid.
240255 if : false
@@ -254,7 +269,7 @@ jobs:
254269 env : *integration-env
255270 shell : bash
256271 run : |
257- uv run pytest -v --log-cli-level=INFO --durations=20 -n logical --dist loadfile --dist worksteal -k "not bedrock" ./tests/integration/agents
272+ uv run --no-sync pytest -v --log-cli-level=INFO --durations=20 -n logical --dist loadfile --dist worksteal -k "not bedrock" ./tests/integration/agents
258273
259274 python-merge-gate-ollama :
260275 name : Python Pre-Merge Integration Tests - Ollama
@@ -265,7 +280,7 @@ jobs:
265280 max-parallel : 1
266281 fail-fast : false
267282 matrix :
268- python-version : ["3.11 "]
283+ python-version : ["3.14 "]
269284 os : [ubuntu-latest]
270285 defaults :
271286 run :
@@ -277,16 +292,21 @@ jobs:
277292 COMPLETIONS_CONCEPT_SAMPLE : " true"
278293 steps :
279294 - uses : actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
295+ - name : Set up Python
296+ uses : actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
297+ with :
298+ python-version : ${{ matrix.python-version }}
280299 - name : Set up uv
281300 uses : astral-sh/setup-uv@d0cc045d04ccac9d8b7881df0226f9e82c39688e # v6.8.0
282301 with :
283- version : " 0.5 .x"
302+ version : " 0.13 .x"
284303 enable-cache : true
285304 cache-suffix : ${{ runner.os }}-${{ matrix.python-version }}
286305 cache-dependency-glob : " **/uv.lock"
287306 - name : Install dependencies
288307 run : |
289- uv sync --all-extras --dev
308+ uv venv
309+ uv pip install --editable . --requirements pyproject.toml --all-extras --group dev --upgrade --prerelease=if-necessary-or-explicit
290310 - name : Install Ollama
291311 if : matrix.os == 'ubuntu-latest'
292312 run : |
@@ -307,7 +327,7 @@ jobs:
307327 shell : bash
308328 env : *integration-env
309329 run : |
310- uv run pytest -v --log-cli-level=INFO --durations=0 -n logical --dist loadfile --dist worksteal -m ollama --timeout=300 ./tests/integration/completions ./tests/integration/embeddings
330+ uv run --no-sync pytest -v --log-cli-level=INFO --durations=0 -n logical --dist loadfile --dist worksteal -m ollama --timeout=300 ./tests/integration/completions ./tests/integration/embeddings
311331
312332 python-merge-gate-memory :
313333 name : Python Pre-Merge Integration Tests - Memory (incl samples using those)
@@ -320,7 +340,7 @@ jobs:
320340 max-parallel : 1
321341 fail-fast : false
322342 matrix :
323- python-version : ["3.11 "]
343+ python-version : ["3.14 "]
324344 os : [ubuntu-latest]
325345 defaults :
326346 run :
@@ -346,16 +366,21 @@ jobs:
346366 - 50051:50051
347367 steps :
348368 - uses : actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
369+ - name : Set up Python
370+ uses : actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
371+ with :
372+ python-version : ${{ matrix.python-version }}
349373 - name : Set up uv
350374 uses : astral-sh/setup-uv@d0cc045d04ccac9d8b7881df0226f9e82c39688e # v6.8.0
351375 with :
352- version : " 0.5 .x"
376+ version : " 0.13 .x"
353377 enable-cache : true
354378 cache-suffix : ${{ runner.os }}-${{ matrix.python-version }}
355379 cache-dependency-glob : " **/uv.lock"
356380 - name : Install dependencies
357381 run : |
358- uv sync --all-extras --dev
382+ uv venv
383+ uv pip install --editable . --requirements pyproject.toml --all-extras --group dev --upgrade --prerelease=if-necessary-or-explicit
359384 - name : Azure CLI Login
360385 uses : azure/login@7184910d9eb2b1c5e48f7073824a90609bb9b6d6 # v2.3.1
361386 with :
@@ -368,7 +393,7 @@ jobs:
368393 timeout-minutes : 15
369394 shell : bash
370395 run : |
371- uv run pytest -v --log-cli-level=INFO --durations=20 -n logical --dist loadfile --dist worksteal ./tests/integration/memory ./tests/samples
396+ uv run --no-sync pytest -v --log-cli-level=INFO --durations=20 -n logical --dist loadfile --dist worksteal ./tests/integration/memory ./tests/samples
372397
373398 python-integration-tests :
374399 name : Python Integration Tests - Scheduled run
@@ -381,7 +406,7 @@ jobs:
381406 max-parallel : 1
382407 fail-fast : false
383408 matrix :
384- python-version : ["3.10", "3.11", "3.12 "]
409+ python-version : ["3.14 "]
385410 os : [ubuntu-latest, windows-latest, macos-latest]
386411 defaults :
387412 run :
@@ -407,16 +432,21 @@ jobs:
407432 - 50051:50051
408433 steps :
409434 - uses : actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
435+ - name : Set up Python
436+ uses : actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
437+ with :
438+ python-version : ${{ matrix.python-version }}
410439 - name : Set up uv
411440 uses : astral-sh/setup-uv@d0cc045d04ccac9d8b7881df0226f9e82c39688e # v6.8.0
412441 with :
413- version : " 0.5 .x"
442+ version : " 0.13 .x"
414443 enable-cache : true
415444 cache-suffix : ${{ runner.os }}-${{ matrix.python-version }}
416445 cache-dependency-glob : " **/uv.lock"
417446 - name : Install dependencies
418447 run : |
419- uv sync --all-extras --dev
448+ uv venv
449+ uv pip install --editable . --requirements pyproject.toml --all-extras --group dev --upgrade --prerelease=if-necessary-or-explicit
420450 - name : Install Ollama
421451 if : matrix.os == 'ubuntu-latest'
422452 run : |
@@ -467,57 +497,57 @@ jobs:
467497 shell : bash
468498 # Ollama tests are very unstable at the moment. It often fails to pull models from the Ollama server. Thus, Ollama is disabled for now.
469499 run : |
470- uv run pytest -v -n logical --dist loadfile --dist worksteal -m "not ollama" -k "not bedrock" ./tests/integration/completions
500+ uv run --no-sync pytest -v -n logical --dist loadfile --dist worksteal -m "not ollama" -k "not bedrock" ./tests/integration/completions
471501 - name : Run Integration Tests - Embeddings
472502 id : run_tests_embeddings
473503 env : *integration-env
474504 timeout-minutes : 5
475505 shell : bash
476506 # Ollama tests are very unstable at the moment. It often fails to pull models from the Ollama server. Thus, Ollama is disabled for now.
477507 run : |
478- uv run pytest -v -n logical --dist loadfile --dist worksteal -m "not ollama" -k "not bedrock" ./tests/integration/embeddings
508+ uv run --no-sync pytest -v -n logical --dist loadfile --dist worksteal -m "not ollama" -k "not bedrock" ./tests/integration/embeddings
479509 - name : Run Integration Tests - Memory
480510 id : run_tests_memory
481511 timeout-minutes : 5
482512 env : *integration-env
483513 shell : bash
484514 run : |
485- uv run pytest -v -n logical --dist loadfile --dist worksteal ./tests/integration/memory
515+ uv run --no-sync pytest -v -n logical --dist loadfile --dist worksteal ./tests/integration/memory
486516 - name : Run Integration Tests - Cross Language
487517 id : run_tests_cross_language
488518 env : *integration-env
489519 timeout-minutes : 5
490520 shell : bash
491521 run : |
492- uv run pytest -v -n logical --dist loadfile --dist worksteal ./tests/integration/cross_language
522+ uv run --no-sync pytest -v -n logical --dist loadfile --dist worksteal ./tests/integration/cross_language
493523 - name : Run Integration Tests - Planning
494524 id : run_tests_planning
495525 env : *integration-env
496526 timeout-minutes : 5
497527 shell : bash
498528 run : |
499- uv run pytest -v -n logical --dist loadfile --dist worksteal ./tests/integration/planning
529+ uv run --no-sync pytest -v -n logical --dist loadfile --dist worksteal ./tests/integration/planning
500530 - name : Run Integration Tests - Samples
501531 id : run_tests_samples
502532 env : *integration-env
503533 timeout-minutes : 5
504534 shell : bash
505535 run : |
506- uv run pytest -v -n logical --dist loadfile --dist worksteal ./tests/samples
536+ uv run --no-sync pytest -v -n logical --dist loadfile --dist worksteal ./tests/samples
507537 - name : Run Integration Tests - Agents
508538 id : run_tests_agents
509539 timeout-minutes : 10
510540 env : *integration-env
511541 shell : bash
512542 run : |
513- uv run pytest -v -n logical --dist loadfile --dist worksteal -k "not bedrock" ./tests/integration/agents
543+ uv run --no-sync pytest -v -n logical --dist loadfile --dist worksteal -k "not bedrock" ./tests/integration/agents
514544 - name : Run Integration Tests - Multi-Modality
515545 id : run_tests_multi_modality
516546 timeout-minutes : 5
517547 env : *integration-env
518548 shell : bash
519549 run : |
520- uv run pytest -v -n logical --dist loadfile --dist worksteal ./tests/integration/audio_to_text ./tests/integration/text_to_audio ./tests/integration/text_to_image
550+ uv run --no-sync pytest -v -n logical --dist loadfile --dist worksteal ./tests/integration/audio_to_text ./tests/integration/text_to_audio ./tests/integration/text_to_image
521551
522552 # This final job is required to satisfy the merge queue. It must only run (or succeed) if no tests failed
523553 python-integration-tests-check :
0 commit comments