Skip to content

Commit d344324

Browse files
committed
ci: replace wildcard path triggers with targeted filters on E2E tests
All 12 E2E workflows used `paths: ['**']` which triggered on every file change — docs, configs, experiments, etc. This caused ~140-200 min of compute per push event (18+ parallel workflows). Now E2E tests only trigger when relevant source code changes: - Python E2E: codeflash/**, tests/**, pyproject.toml, uv.lock, workflow files - JS E2E: same + packages/** - Java E2E: already had proper path filters (no change needed) Estimated savings: ~$150-200/mo in CI compute.
1 parent 1f69837 commit d344324

12 files changed

+63
-12
lines changed

.github/workflows/e2e-async.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,11 @@ name: E2E - Async
33
on:
44
pull_request:
55
paths:
6-
- '**' # Trigger for all paths
6+
- 'codeflash/**'
7+
- 'tests/**'
8+
- 'pyproject.toml'
9+
- 'uv.lock'
10+
- '.github/workflows/e2e-*.yaml'
711

812
workflow_dispatch:
913

.github/workflows/e2e-bubblesort-benchmark.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,11 @@ name: E2E - Bubble Sort Benchmark
33
on:
44
pull_request:
55
paths:
6-
- '**' # Trigger for all paths
6+
- 'codeflash/**'
7+
- 'tests/**'
8+
- 'pyproject.toml'
9+
- 'uv.lock'
10+
- '.github/workflows/e2e-*.yaml'
711

812
workflow_dispatch:
913

.github/workflows/e2e-bubblesort-pytest-nogit.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,11 @@ name: E2E - Bubble Sort Pytest (No Git)
33
on:
44
pull_request:
55
paths:
6-
- '**' # Trigger for all paths
6+
- 'codeflash/**'
7+
- 'tests/**'
8+
- 'pyproject.toml'
9+
- 'uv.lock'
10+
- '.github/workflows/e2e-*.yaml'
711

812
workflow_dispatch:
913

.github/workflows/e2e-bubblesort-unittest.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,11 @@ name: E2E - Bubble Sort Unittest
33
on:
44
pull_request:
55
paths:
6-
- '**' # Trigger for all paths
6+
- 'codeflash/**'
7+
- 'tests/**'
8+
- 'pyproject.toml'
9+
- 'uv.lock'
10+
- '.github/workflows/e2e-*.yaml'
711

812
workflow_dispatch:
913

.github/workflows/e2e-coverage-optimization.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,11 @@ name: Coverage E2E
33
on:
44
pull_request:
55
paths:
6-
- '**' # Trigger for all paths
6+
- 'codeflash/**'
7+
- 'tests/**'
8+
- 'pyproject.toml'
9+
- 'uv.lock'
10+
- '.github/workflows/e2e-*.yaml'
711

812
workflow_dispatch:
913

.github/workflows/e2e-futurehouse-structure.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,11 @@ name: E2E - Futurehouse Structure
33
on:
44
pull_request:
55
paths:
6-
- '**' # Trigger for all paths
6+
- 'codeflash/**'
7+
- 'tests/**'
8+
- 'pyproject.toml'
9+
- 'uv.lock'
10+
- '.github/workflows/e2e-*.yaml'
711

812
workflow_dispatch:
913

.github/workflows/e2e-init-optimization.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,11 @@ name: E2E - Init Optimization
33
on:
44
pull_request:
55
paths:
6-
- '**' # Trigger for all paths
6+
- 'codeflash/**'
7+
- 'tests/**'
8+
- 'pyproject.toml'
9+
- 'uv.lock'
10+
- '.github/workflows/e2e-*.yaml'
711
workflow_dispatch:
812

913
concurrency:

.github/workflows/e2e-js-cjs-function.yaml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,12 @@ name: E2E - JS CommonJS Function
33
on:
44
pull_request:
55
paths:
6-
- '**' # Trigger for all paths
6+
- 'codeflash/**'
7+
- 'packages/**'
8+
- 'tests/**'
9+
- 'pyproject.toml'
10+
- 'uv.lock'
11+
- '.github/workflows/e2e-*.yaml'
712

813
workflow_dispatch:
914

.github/workflows/e2e-js-esm-async.yaml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,12 @@ name: E2E - JS ESM Async
33
on:
44
pull_request:
55
paths:
6-
- '**' # Trigger for all paths
6+
- 'codeflash/**'
7+
- 'packages/**'
8+
- 'tests/**'
9+
- 'pyproject.toml'
10+
- 'uv.lock'
11+
- '.github/workflows/e2e-*.yaml'
712

813
workflow_dispatch:
914

.github/workflows/e2e-js-ts-class.yaml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,12 @@ name: E2E - JS TypeScript Class
33
on:
44
pull_request:
55
paths:
6-
- '**' # Trigger for all paths
6+
- 'codeflash/**'
7+
- 'packages/**'
8+
- 'tests/**'
9+
- 'pyproject.toml'
10+
- 'uv.lock'
11+
- '.github/workflows/e2e-*.yaml'
712

813
workflow_dispatch:
914

0 commit comments

Comments
 (0)