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.
This commit is contained in:
Kevin Turcios 2026-04-09 02:06:28 -05:00
parent 1f698374e5
commit d344324325
12 changed files with 63 additions and 12 deletions

View file

@ -3,7 +3,11 @@ name: E2E - Async
on:
pull_request:
paths:
- '**' # Trigger for all paths
- 'codeflash/**'
- 'tests/**'
- 'pyproject.toml'
- 'uv.lock'
- '.github/workflows/e2e-*.yaml'
workflow_dispatch:

View file

@ -3,7 +3,11 @@ name: E2E - Bubble Sort Benchmark
on:
pull_request:
paths:
- '**' # Trigger for all paths
- 'codeflash/**'
- 'tests/**'
- 'pyproject.toml'
- 'uv.lock'
- '.github/workflows/e2e-*.yaml'
workflow_dispatch:

View file

@ -3,7 +3,11 @@ name: E2E - Bubble Sort Pytest (No Git)
on:
pull_request:
paths:
- '**' # Trigger for all paths
- 'codeflash/**'
- 'tests/**'
- 'pyproject.toml'
- 'uv.lock'
- '.github/workflows/e2e-*.yaml'
workflow_dispatch:

View file

@ -3,7 +3,11 @@ name: E2E - Bubble Sort Unittest
on:
pull_request:
paths:
- '**' # Trigger for all paths
- 'codeflash/**'
- 'tests/**'
- 'pyproject.toml'
- 'uv.lock'
- '.github/workflows/e2e-*.yaml'
workflow_dispatch:

View file

@ -3,7 +3,11 @@ name: Coverage E2E
on:
pull_request:
paths:
- '**' # Trigger for all paths
- 'codeflash/**'
- 'tests/**'
- 'pyproject.toml'
- 'uv.lock'
- '.github/workflows/e2e-*.yaml'
workflow_dispatch:

View file

@ -3,7 +3,11 @@ name: E2E - Futurehouse Structure
on:
pull_request:
paths:
- '**' # Trigger for all paths
- 'codeflash/**'
- 'tests/**'
- 'pyproject.toml'
- 'uv.lock'
- '.github/workflows/e2e-*.yaml'
workflow_dispatch:

View file

@ -3,7 +3,11 @@ name: E2E - Init Optimization
on:
pull_request:
paths:
- '**' # Trigger for all paths
- 'codeflash/**'
- 'tests/**'
- 'pyproject.toml'
- 'uv.lock'
- '.github/workflows/e2e-*.yaml'
workflow_dispatch:
concurrency:

View file

@ -3,7 +3,12 @@ name: E2E - JS CommonJS Function
on:
pull_request:
paths:
- '**' # Trigger for all paths
- 'codeflash/**'
- 'packages/**'
- 'tests/**'
- 'pyproject.toml'
- 'uv.lock'
- '.github/workflows/e2e-*.yaml'
workflow_dispatch:

View file

@ -3,7 +3,12 @@ name: E2E - JS ESM Async
on:
pull_request:
paths:
- '**' # Trigger for all paths
- 'codeflash/**'
- 'packages/**'
- 'tests/**'
- 'pyproject.toml'
- 'uv.lock'
- '.github/workflows/e2e-*.yaml'
workflow_dispatch:

View file

@ -3,7 +3,12 @@ name: E2E - JS TypeScript Class
on:
pull_request:
paths:
- '**' # Trigger for all paths
- 'codeflash/**'
- 'packages/**'
- 'tests/**'
- 'pyproject.toml'
- 'uv.lock'
- '.github/workflows/e2e-*.yaml'
workflow_dispatch:

View file

@ -3,7 +3,11 @@ name: E2E - Topological Sort (Worktree)
on:
pull_request:
paths:
- '**' # Trigger for all paths
- 'codeflash/**'
- 'tests/**'
- 'pyproject.toml'
- 'uv.lock'
- '.github/workflows/e2e-*.yaml'
workflow_dispatch:

View file

@ -3,7 +3,11 @@ name: E2E - Tracer Replay
on:
pull_request:
paths:
- '**' # Trigger for all paths
- 'codeflash/**'
- 'tests/**'
- 'pyproject.toml'
- 'uv.lock'
- '.github/workflows/e2e-*.yaml'
workflow_dispatch:
concurrency: