Skip to content

Commit 72abbc8

Browse files
build: use dorny/paths-filter to detect changes in continuous and presubmit workflows (#828)
* build: remove wrong field in workflows * build: use dorny/paths-filter in presubmit and continous workflows
1 parent e8b4c56 commit 72abbc8

File tree

2 files changed

+40
-38
lines changed

2 files changed

+40
-38
lines changed

.github/workflows/continuous.yaml

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -60,43 +60,44 @@ jobs:
6060
with:
6161
fetch-depth: 0 # Fetch all history for comparison on push events
6262

63-
- name: Get changed files
64-
id: changed-files
65-
uses: tj-actions/changed-files@24d32ffd492484c1d75e0c0b894501ddb9d30d62 # v47.0.0
66-
working-directory: /github/workspace
63+
- name: Check for changes in generator
64+
uses: dorny/paths-filter@v3
65+
id: generator-changes
6766
with:
68-
files: generator/**
67+
filters: |
68+
generator:
69+
- 'generator/**'
6970
7071
- name: Cache Bazel files
71-
if: steps.changed-files.outputs.any_changed == 'true'
72+
if: steps.generator-changes.outputs.generator == 'true'
7273
id: cache-bazel
7374
uses: actions/cache@v4
7475
with:
7576
path: ~/.cache/bazel
7677
key: ${{ runner.os }}-googleapis-20250422-${{ secrets.CACHE_VERSION }}
7778

7879
- name: Setup Node.js
79-
if: steps.changed-files.outputs.any_changed == 'true'
80+
if: steps.generator-changes.outputs.generator == 'true'
8081
uses: actions/setup-node@v6
8182
with:
8283
node-version: 18.x
8384

8485
- name: Install Node dependencies with npm
85-
if: steps.changed-files.outputs.any_changed == 'true'
86+
if: steps.generator-changes.outputs.generator == 'true'
8687
run: npm install
8788

8889
- name: Run bazel build
89-
if: steps.changed-files.outputs.any_changed == 'true'
90+
if: steps.generator-changes.outputs.generator == 'true'
9091
working-directory: ./generator/gapic-generator-typescript
9192
run: bazelisk build --noremote_accept_cached '//...'
9293

9394
- name: Run bazel test
94-
if: steps.changed-files.outputs.any_changed == 'true'
95+
if: steps.generator-changes.outputs.generator == 'true'
9596
working-directory: ./generator/gapic-generator-typescript
9697
run: bazelisk test --test_output=errors --noremote_accept_cached //...
9798

9899
- name: Verify error conformance
99-
if: steps.changed-files.outputs.any_changed == 'true'
100+
if: steps.generator-changes.outputs.generator == 'true'
100101
working-directory: ./generator/gapic-generator-typescript
101102
run: |
102103
curl -sSL https://github.com/googleapis/gapic-config-validator/releases/download/v0.6.0/gapic-config-validator-0.6.0-linux-amd64.tar.gz > config-validator.tar.gz
@@ -106,7 +107,7 @@ jobs:
106107
./gapic-error-conformance -plugin="bazel-bin/protoc_plugin_/protoc_plugin"
107108
108109
- name: Prepare baseline artifacts
109-
if: steps.changed-files.outputs.any_changed == 'true'
110+
if: steps.generator-changes.outputs.generator == 'true'
110111
working-directory: ./generator/gapic-generator-typescript
111112
run: |
112113
mkdir -p ~/artifacts
@@ -115,14 +116,14 @@ jobs:
115116
tar cfz ~/artifacts/node_modules.tar.gz node_modules
116117
117118
- name: Save artifacts
118-
if: steps.changed-files.outputs.any_changed == 'true'
119+
if: steps.generator-changes.outputs.generator == 'true'
119120
uses: actions/upload-artifact@v5
120121
with:
121122
name: artifacts
122123
path: ~/artifacts
123124

124125
- name: Test generated libraries
125-
if: steps.changed-files.outputs.any_changed == 'true'
126+
if: steps.generator-changes.outputs.generator == 'true'
126127
run: |
127128
set -ex
128129
unzip ~/artifacts/outputs.zip -d library
@@ -140,7 +141,7 @@ jobs:
140141
done
141142
142143
- name: Test generated ESM libraries
143-
if: steps.changed-files.outputs.any_changed == 'true'
144+
if: steps.generator-changes.outputs.generator == 'true'
144145
run: |
145146
set -ex
146147
for lib in showcase kms translate monitoring dlp texttospeech showcase-legacy compute logging bigquery-v2 redis retail; do
@@ -156,13 +157,13 @@ jobs:
156157
done
157158
158159
- name: Test combined library (Speech)
159-
if: steps.changed-files.outputs.any_changed == 'true'
160+
if: steps.generator-changes.outputs.generator == 'true'
160161
env:
161162
TEST_ENV_DESTINATION_PATH: generator/gapic-generator-typescript/test-fixtures/google-cloud-speech
162163
run: generator/gapic-generator-typescript/rules_typescript_gapic/combine_script.sh generator/gapic-generator-typescript/test-fixtures/google-cloud-speech-nodejs v1 "" "" generator/gapic-generator-typescript/node_modules/gapic-tools/build/src/compileProtos.js generator/gapic-generator-typescript/node_modules/gapic-node-processing/build/src/cli.js ""
163164

164165
- name: Run tests for combined library (Speech)
165-
if: steps.changed-files.outputs.any_changed == 'true'
166+
if: steps.generator-changes.outputs.generator == 'true'
166167
run: |
167168
set -ex
168169
cd generator/gapic-generator-typescript/test-fixtures/google-cloud-speech
@@ -171,13 +172,13 @@ jobs:
171172
npm run system-test
172173
173174
- name: Test combined library (Tasks)
174-
if: steps.changed-files.outputs.any_changed == 'true'
175+
if: steps.generator-changes.outputs.generator == 'true'
175176
env:
176177
TEST_ENV_DESTINATION_PATH: generator/gapic-generator-typescript/test-fixtures/google-cloud-tasks
177178
run: generator/gapic-generator-typescript/rules_typescript_gapic/combine_script.sh generator/gapic-generator-typescript/test-fixtures/google-cloud-tasks-nodejs v2 "" "" generator/gapic-generator-typescript/node_modules/gapic-tools/build/src/compileProtos.js generator/gapic-generator-typescript/node_modules/gapic-node-processing/build/src/cli.js ""
178179

179180
- name: Run tests for combined library (Tasks)
180-
if: steps.changed-files.outputs.any_changed == 'true'
181+
if: steps.generator-changes.outputs.generator == 'true'
181182
run: |
182183
set -ex
183184
cd generator/gapic-generator-typescript/test-fixtures/google-cloud-tasks

.github/workflows/presubmit.yaml

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -47,43 +47,44 @@ jobs:
4747
with:
4848
fetch-depth: 300
4949

50-
- name: Get changed files
51-
id: changed-files
52-
uses: tj-actions/changed-files@v47
53-
working-directory: /github/workspace
50+
- name: Check for changes in generator
51+
uses: dorny/paths-filter@v3
52+
id: generator-changes
5453
with:
55-
files: generator/**
54+
filters: |
55+
generator:
56+
- 'generator/**'
5657
5758
- name: Cache Bazel files
58-
if: steps.changed-files.outputs.any_changed == 'true'
59+
if: steps.generator-changes.outputs.generator == 'true'
5960
id: cache-bazel
6061
uses: actions/cache@v4
6162
with:
6263
path: ~/.cache/bazel
6364
key: ${{ runner.os }}-googleapis-20250422-${{ secrets.CACHE_VERSION }}
6465

6566
- name: Setup Node.js
66-
if: steps.changed-files.outputs.any_changed == 'true'
67+
if: steps.generator-changes.outputs.generator == 'true'
6768
uses: actions/setup-node@v6
6869
with:
6970
node-version: 18.x
7071

7172
- name: Install Node dependencies with npm
72-
if: steps.changed-files.outputs.any_changed == 'true'
73+
if: steps.generator-changes.outputs.generator == 'true'
7374
run: npm install
7475

7576
- name: Run bazel build
76-
if: steps.changed-files.outputs.any_changed == 'true'
77+
if: steps.generator-changes.outputs.generator == 'true'
7778
working-directory: ./generator/gapic-generator-typescript
7879
run: bazelisk build --noremote_accept_cached '//...'
7980

8081
- name: Run bazel test
81-
if: steps.changed-files.outputs.any_changed == 'true'
82+
if: steps.generator-changes.outputs.generator == 'true'
8283
working-directory: ./generator/gapic-generator-typescript
8384
run: bazelisk test --test_output=errors --noremote_accept_cached //...
8485

8586
- name: Verify error conformance
86-
if: steps.changed-files.outputs.any_changed == 'true'
87+
if: steps.generator-changes.outputs.generator == 'true'
8788
working-directory: ./generator/gapic-generator-typescript
8889
run: |
8990
curl -sSL https://github.com/googleapis/gapic-config-validator/releases/download/v0.6.0/gapic-config-validator-0.6.0-linux-amd64.tar.gz > config-validator.tar.gz
@@ -93,7 +94,7 @@ jobs:
9394
./gapic-error-conformance -plugin="bazel-bin/protoc_plugin_/protoc_plugin"
9495
9596
- name: Prepare baseline artifacts
96-
if: steps.changed-files.outputs.any_changed == 'true'
97+
if: steps.generator-changes.outputs.generator == 'true'
9798
working-directory: ./generator/gapic-generator-typescript
9899
run: |
99100
mkdir -p ~/artifacts
@@ -102,14 +103,14 @@ jobs:
102103
tar cfz ~/artifacts/node_modules.tar.gz node_modules
103104
104105
- name: Save artifacts
105-
if: steps.changed-files.outputs.any_changed == 'true'
106+
if: steps.generator-changes.outputs.generator == 'true'
106107
uses: actions/upload-artifact@v5
107108
with:
108109
name: artifacts
109110
path: ~/artifacts
110111

111112
- name: Test generated libraries
112-
if: steps.changed-files.outputs.any_changed == 'true'
113+
if: steps.generator-changes.outputs.generator == 'true'
113114
run: |
114115
set -ex
115116
unzip ~/artifacts/outputs.zip -d library
@@ -127,7 +128,7 @@ jobs:
127128
done
128129
129130
- name: Test generated ESM libraries
130-
if: steps.changed-files.outputs.any_changed == 'true'
131+
if: steps.generator-changes.outputs.generator == 'true'
131132
run: |
132133
set -ex
133134
for lib in showcase kms translate monitoring dlp texttospeech showcase-legacy compute logging bigquery-v2 redis retail; do
@@ -143,13 +144,13 @@ jobs:
143144
done
144145
145146
- name: Test combined library (Speech)
146-
if: steps.changed-files.outputs.any_changed == 'true'
147+
if: steps.generator-changes.outputs.generator == 'true'
147148
env:
148149
TEST_ENV_DESTINATION_PATH: generator/gapic-generator-typescript/test-fixtures/google-cloud-speech
149150
run: generator/gapic-generator-typescript/rules_typescript_gapic/combine_script.sh generator/gapic-generator-typescript/test-fixtures/google-cloud-speech-nodejs v1 "" "" generator/gapic-generator-typescript/node_modules/gapic-tools/build/src/compileProtos.js generator/gapic-generator-typescript/node_modules/gapic-node-processing/build/src/cli.js ""
150151

151152
- name: Run tests for combined library (Speech)
152-
if: steps.changed-files.outputs.any_changed == 'true'
153+
if: steps.generator-changes.outputs.generator == 'true'
153154
run: |
154155
set -ex
155156
cd generator/gapic-generator-typescript/test-fixtures/google-cloud-speech
@@ -158,13 +159,13 @@ jobs:
158159
npm run system-test
159160
160161
- name: Test combined library (Tasks)
161-
if: steps.changed-files.outputs.any_changed == 'true'
162+
if: steps.generator-changes.outputs.generator == 'true'
162163
env:
163164
TEST_ENV_DESTINATION_PATH: generator/gapic-generator-typescript/test-fixtures/google-cloud-tasks
164165
run: generator/gapic-generator-typescript/rules_typescript_gapic/combine_script.sh generator/gapic-generator-typescript/test-fixtures/google-cloud-tasks-nodejs v2 "" "" generator/gapic-generator-typescript/node_modules/gapic-tools/build/src/compileProtos.js generator/gapic-generator-typescript/node_modules/gapic-node-processing/build/src/cli.js ""
165166

166167
- name: Run tests for combined library (Tasks)
167-
if: steps.changed-files.outputs.any_changed == 'true'
168+
if: steps.generator-changes.outputs.generator == 'true'
168169
run: |
169170
set -ex
170171
cd generator/gapic-generator-typescript/test-fixtures/google-cloud-tasks

0 commit comments

Comments
 (0)