Skip to content

Commit 44c8edf

Browse files
Copilotfriggeri
andcommitted
Optimize CI workflow: remove push trigger and add path-based filtering
Co-authored-by: friggeri <106686+friggeri@users.noreply.github.com>
1 parent 4d2e7c5 commit 44c8edf

1 file changed

Lines changed: 43 additions & 2 deletions

File tree

.github/workflows/sdk-e2e-tests.yml

Lines changed: 43 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ env:
55
PYTHONUTF8: 1
66

77
on:
8-
push:
9-
branches: [main]
108
pull_request:
119
workflow_dispatch:
1210
merge_group:
@@ -15,8 +13,42 @@ permissions:
1513
contents: read
1614

1715
jobs:
16+
changes:
17+
name: "Detect Changes"
18+
runs-on: ubuntu-latest
19+
# Always run on workflow_dispatch and merge_group
20+
if: github.event_name == 'workflow_dispatch' || github.event_name == 'merge_group' || github.event_name == 'pull_request'
21+
outputs:
22+
nodejs: ${{ steps.filter.outputs.nodejs }}
23+
go: ${{ steps.filter.outputs.go }}
24+
python: ${{ steps.filter.outputs.python }}
25+
dotnet: ${{ steps.filter.outputs.dotnet }}
26+
steps:
27+
- uses: actions/checkout@v6.0.2
28+
- uses: dorny/paths-filter@v3
29+
id: filter
30+
with:
31+
filters: |
32+
nodejs:
33+
- 'nodejs/**'
34+
- 'test/**'
35+
go:
36+
- 'go/**'
37+
- 'test/**'
38+
- 'nodejs/package.json'
39+
python:
40+
- 'python/**'
41+
- 'test/**'
42+
- 'nodejs/package.json'
43+
dotnet:
44+
- 'dotnet/**'
45+
- 'test/**'
46+
- 'nodejs/package.json'
1847
nodejs-sdk:
1948
name: "Node.js SDK Tests"
49+
needs: changes
50+
# Run if nodejs files changed, or on workflow_dispatch/merge_group
51+
if: needs.changes.outputs.nodejs == 'true' || github.event_name == 'workflow_dispatch' || github.event_name == 'merge_group'
2052
strategy:
2153
fail-fast: false
2254
matrix:
@@ -63,6 +95,9 @@ jobs:
6395

6496
go-sdk:
6597
name: "Go SDK Tests"
98+
needs: changes
99+
# Run if go files changed, or on workflow_dispatch/merge_group
100+
if: needs.changes.outputs.go == 'true' || github.event_name == 'workflow_dispatch' || github.event_name == 'merge_group'
66101
strategy:
67102
fail-fast: false
68103
matrix:
@@ -115,6 +150,9 @@ jobs:
115150

116151
python-sdk:
117152
name: "Python SDK Tests"
153+
needs: changes
154+
# Run if python files changed, or on workflow_dispatch/merge_group
155+
if: needs.changes.outputs.python == 'true' || github.event_name == 'workflow_dispatch' || github.event_name == 'merge_group'
118156
strategy:
119157
fail-fast: false
120158
matrix:
@@ -164,6 +202,9 @@ jobs:
164202

165203
dotnet-sdk:
166204
name: ".NET SDK Tests"
205+
needs: changes
206+
# Run if dotnet files changed, or on workflow_dispatch/merge_group
207+
if: needs.changes.outputs.dotnet == 'true' || github.event_name == 'workflow_dispatch' || github.event_name == 'merge_group'
167208
strategy:
168209
fail-fast: false
169210
matrix:

0 commit comments

Comments
 (0)