Skip to content

Commit 0d9c4e9

Browse files
Copilotdevantler
andauthored
ci: scope system-test runs to only affected code paths (#2942)
* Initial plan * ci: scope system-test runs to only affected code paths Add a `system-test` path filter that excludes code not exercised by system tests (chat, MCP, cipher, toolgen, doc/schema generators). Include `.github/fixtures/**` since test fixtures should trigger runs. Update warm-helm-cache, warm-mirror-cache, and system-test jobs to use the new filter instead of the broader `source` filter. Co-authored-by: devantler <26203420+devantler@users.noreply.github.com> * ci: remove unused `source` path filter The `source` filter and output were superseded by `system-test` and are no longer referenced by any job. Remove both the output declaration and the filter definition. Co-authored-by: devantler <26203420+devantler@users.noreply.github.com> * ci: add ci.yaml to system-test path filter Changes to the workflow file itself should trigger system test runs to catch broken workflow logic before merge. Co-authored-by: devantler <26203420+devantler@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: devantler <26203420+devantler@users.noreply.github.com>
1 parent 61241c6 commit 0d9c4e9

1 file changed

Lines changed: 15 additions & 5 deletions

File tree

.github/workflows/ci.yaml

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
pull-requests: read
2929
outputs:
3030
code: ${{ steps.filter.outputs.code }}
31-
source: ${{ steps.filter.outputs.source }}
31+
system-test: ${{ steps.filter.outputs.system-test }}
3232
schema: ${{ steps.filter.outputs.schema }}
3333
cli: ${{ steps.filter.outputs.cli }}
3434
vsce: ${{ steps.filter.outputs.vsce }}
@@ -50,12 +50,22 @@ jobs:
5050
- 'go.mod'
5151
- 'go.sum'
5252
- '.github/actions/**'
53-
source:
53+
system-test:
5454
- '**/*.go'
5555
- '!**/*_test.go'
56+
- '!pkg/cli/cmd/chat/**'
57+
- '!pkg/cli/ui/chat/**'
58+
- '!pkg/svc/chat/**'
59+
- '!pkg/svc/mcp/**'
60+
- '!pkg/toolgen/**'
61+
- '!pkg/cli/cmd/cipher/**'
62+
- '!docs/*.go'
63+
- '!schemas/**/*.go'
5664
- 'go.mod'
5765
- 'go.sum'
5866
- '.github/actions/**'
67+
- '.github/fixtures/**'
68+
- '.github/workflows/ci.yaml'
5969
schema:
6070
- 'pkg/apis/**/*.go'
6171
- 'go.mod'
@@ -416,7 +426,7 @@ jobs:
416426
name: 🔥 Warm Helm Cache
417427
runs-on: ubuntu-latest
418428
needs: [changes, build-artifact]
419-
if: github.event_name == 'merge_group' && needs.changes.outputs.source == 'true'
429+
if: github.event_name == 'merge_group' && needs.changes.outputs.system-test == 'true'
420430
permissions:
421431
contents: read
422432
outputs:
@@ -449,7 +459,7 @@ jobs:
449459
name: 🔥 Warm Mirror Cache
450460
runs-on: ubuntu-latest
451461
needs: [changes, build-artifact]
452-
if: github.event_name == 'merge_group' && needs.changes.outputs.source == 'true'
462+
if: github.event_name == 'merge_group' && needs.changes.outputs.system-test == 'true'
453463
permissions:
454464
contents: read
455465
outputs:
@@ -483,7 +493,7 @@ jobs:
483493
runs-on: ubuntu-latest
484494
timeout-minutes: 30
485495
needs: [changes, build-artifact, warm-helm-cache, warm-mirror-cache]
486-
if: github.event_name == 'merge_group' && needs.changes.outputs.source == 'true'
496+
if: github.event_name == 'merge_group' && needs.changes.outputs.system-test == 'true'
487497
permissions:
488498
contents: read
489499
packages: write

0 commit comments

Comments
 (0)