Skip to content

Commit 9679ca9

Browse files
committed
split e2e ci into core and data shards
1 parent 12c5847 commit 9679ca9

1 file changed

Lines changed: 19 additions & 4 deletions

File tree

.github/workflows/ci.yml

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ on:
1212

1313
concurrency:
1414
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
15-
cancel-in-progress: false
15+
cancel-in-progress: true
1616

1717
jobs:
1818
linting:
@@ -94,6 +94,21 @@ jobs:
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

Comments
 (0)