1212
1313concurrency :
1414 group : ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
15- cancel-in-progress : false
15+ cancel-in-progress : true
1616
1717jobs :
1818 linting :
9494 e2e-tests :
9595 runs-on : ubuntu-latest
9696 timeout-minutes : 30
97+ strategy :
98+ fail-fast : false
99+ matrix :
100+ include :
101+ - shard-name : core
102+ test-paths : >-
103+ tests/e2e/test_core_sdk.py
104+ tests/e2e/test_decorators.py
105+ tests/e2e/test_media.py
106+ - shard-name : data
107+ test-paths : >-
108+ tests/e2e/test_batch_evaluation.py
109+ tests/e2e/test_datasets.py
110+ tests/e2e/test_experiments.py
111+ tests/e2e/test_prompt.py
97112 env :
98113 LANGFUSE_BASE_URL : " http://localhost:3000"
99114 LANGFUSE_PUBLIC_KEY : " pk-lf-1234567890"
@@ -114,7 +129,7 @@ jobs:
114129 HUGGINGFACEHUB_API_TOKEN : ${{ secrets.HUGGINGFACEHUB_API_TOKEN }}
115130 ANTHROPIC_API_KEY : ${{ secrets.ANTHROPIC_API_KEY }}
116131
117- name : E2E tests on Python 3.13
132+ name : E2E ${{ matrix.shard-name }} tests on Python 3.13
118133 steps :
119134 - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
120135 - name : Install uv and set Python version
@@ -176,11 +191,11 @@ jobs:
176191 - name : Run the end-to-end tests
177192 run : |
178193 uv run --frozen python --version
179- uv run --frozen pytest -n 4 --dist loadfile -s -v --log-cli-level=INFO tests/e2e -m "not serial_e2e"
194+ uv run --frozen pytest -n 4 --dist worksteal -s -v --log-cli-level=INFO ${{ matrix.test-paths }} -m "not serial_e2e"
180195
181196 - name : Run serial end-to-end tests
182197 run : |
183- uv run --frozen pytest -s -v --log-cli-level=INFO tests/e2e -m serial_e2e
198+ uv run --frozen pytest -s -v --log-cli-level=INFO ${{ matrix.test-paths }} -m serial_e2e
184199
185200 all-tests-passed :
186201 # This allows us to have a branch protection rule for tests and deploys with matrix
0 commit comments