Skip to content

Commit 6cea514

Browse files
CI: optimize workflow for security updates (#31466)
1 parent c13501e commit 6cea514

File tree

5 files changed

+99
-21
lines changed

5 files changed

+99
-21
lines changed

.github/workflows/demos_unit_tests.yml

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,27 @@ on:
99
paths-ignore:
1010
- 'apps/**/*.md'
1111
push:
12-
branches:
13-
- "[0-9][0-9]_[0-9]"
12+
branches: [24_2]
13+
workflow_dispatch:
14+
15+
env:
16+
RUN_TESTS: true
1417

1518
jobs:
19+
check-should-run:
20+
name: Check if tests should run
21+
runs-on: devextreme-shr2
22+
outputs:
23+
should-run: ${{ steps.check.outputs.should-run }}
24+
steps:
25+
- name: Check RUN_TESTS flag
26+
id: check
27+
run: echo "should-run=${{ env.RUN_TESTS }}" >> $GITHUB_OUTPUT
28+
1629
test:
1730
name: Run unit tests
31+
needs: check-should-run
32+
if: needs.check-should-run.outputs.should-run == 'true'
1833

1934
runs-on: ubuntu-latest
2035
timeout-minutes: 60

.github/workflows/demos_visual_tests.yml

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,31 @@ on:
99
paths-ignore:
1010
- 'apps/**/*.md'
1111
push:
12-
branches:
13-
- "[0-9][0-9]_[0-9]"
12+
branches: [24_2]
1413
workflow_dispatch:
1514

1615
env:
1716
NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_TOKEN }}
1817
NX_SKIP_NX_CACHE: ${{ (github.event_name != 'pull_request' || contains( github.event.pull_request.labels.*.name, 'skip-cache')) && 'true' || 'false' }}
1918
BUILD_TEST_INTERNAL_PACKAGE: true
19+
RUN_TESTS: true
2020

2121
jobs:
22+
check-should-run:
23+
name: Check if tests should run
24+
runs-on: devextreme-shr2
25+
outputs:
26+
should-run: ${{ steps.check.outputs.should-run }}
27+
steps:
28+
- name: Check RUN_TESTS flag
29+
id: check
30+
run: echo "should-run=${{ env.RUN_TESTS }}" >> $GITHUB_OUTPUT
31+
2232
build:
2333
runs-on: ubuntu-22.04
2434
name: Build devextreme
35+
needs: check-should-run
36+
if: needs.check-should-run.outputs.should-run == 'true'
2537
timeout-minutes: 20
2638

2739
steps:
@@ -63,8 +75,8 @@ jobs:
6375
pnpx nx build devextreme
6476
6577
testcafe:
66-
needs:
67-
- build
78+
needs: [check-should-run, build]
79+
if: needs.check-should-run.outputs.should-run == 'true'
6880
strategy:
6981
fail-fast: false
7082
matrix:

.github/workflows/demos_visual_tests_frameworks.yml

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,31 @@ on:
99
paths-ignore:
1010
- 'apps/**/*.md'
1111
push:
12-
branches:
13-
- "[0-9][0-9]_[0-9]"
12+
branches: [24_2]
1413
workflow_dispatch:
1514

1615
env:
1716
NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_TOKEN }}
1817
NX_SKIP_NX_CACHE: ${{ (github.event_name != 'pull_request' || contains( github.event.pull_request.labels.*.name, 'skip-cache')) && 'true' || 'false' }}
1918
BUILD_TEST_INTERNAL_PACKAGE: true
19+
RUN_TESTS: true
2020

2121
jobs:
22+
check-should-run:
23+
name: Check if tests should run
24+
runs-on: devextreme-shr2
25+
outputs:
26+
should-run: ${{ steps.check.outputs.should-run }}
27+
steps:
28+
- name: Check RUN_TESTS flag
29+
id: check
30+
run: echo "should-run=${{ env.RUN_TESTS }}" >> $GITHUB_OUTPUT
31+
2232
build-devextreme:
2333
runs-on: ubuntu-22.04
2434
name: Build DevExtreme
35+
needs: check-should-run
36+
if: needs.check-should-run.outputs.should-run == 'true'
2537
timeout-minutes: 40
2638

2739
steps:
@@ -85,7 +97,8 @@ jobs:
8597
runs-on: ubuntu-22.04
8698
name: Build Demos
8799
timeout-minutes: 20
88-
needs: build-devextreme
100+
needs: [check-should-run, build-devextreme]
101+
if: needs.check-should-run.outputs.should-run == 'true'
89102

90103
steps:
91104

@@ -154,6 +167,8 @@ jobs:
154167
get-changes:
155168
runs-on: ubuntu-22.04
156169
name: Get changed demos
170+
needs: check-should-run
171+
if: needs.check-should-run.outputs.should-run == 'true'
157172
timeout-minutes: 5
158173

159174
steps:
@@ -177,7 +192,8 @@ jobs:
177192

178193
check-ts:
179194
name: Check TS
180-
needs: build-devextreme
195+
needs: [check-should-run, build-devextreme]
196+
if: needs.check-should-run.outputs.should-run == 'true'
181197
runs-on: devextreme-shr2
182198
timeout-minutes: 20
183199

@@ -235,9 +251,8 @@ jobs:
235251

236252
lint:
237253
name: ${{ matrix.name }}
238-
needs:
239-
- build-devextreme
240-
- get-changes
254+
needs: [check-should-run, build-devextreme, get-changes]
255+
if: needs.check-should-run.outputs.should-run == 'true'
241256

242257
runs-on: ubuntu-22.04
243258
timeout-minutes: 60
@@ -325,7 +340,8 @@ jobs:
325340
name: ${{ matrix.name }}
326341
runs-on: ubuntu-22.04
327342
timeout-minutes: 10
328-
needs: build-demos
343+
needs: [check-should-run, build-demos]
344+
if: needs.check-should-run.outputs.should-run == 'true'
329345

330346
strategy:
331347
fail-fast: false
@@ -404,7 +420,8 @@ jobs:
404420
fi
405421
406422
testcafe:
407-
needs: build-demos
423+
needs: [check-should-run, build-demos]
424+
if: needs.check-should-run.outputs.should-run == 'true'
408425
strategy:
409426
fail-fast: false
410427
matrix:

.github/workflows/qunit_tests-additional-renovation.yml

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,29 @@ on:
1010
- 'apps/**/*.md'
1111
push:
1212
branches: [24_2]
13+
workflow_dispatch:
1314

1415
env:
1516
NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_TOKEN }}
1617
NX_SKIP_NX_CACHE: ${{ (github.event_name != 'pull_request' || contains( github.event.pull_request.labels.*.name, 'skip-cache')) && 'true' || 'false' }}
18+
RUN_TESTS: true
1719

1820
jobs:
21+
check-should-run:
22+
name: Check if tests should run
23+
runs-on: devextreme-shr2
24+
outputs:
25+
should-run: ${{ steps.check.outputs.should-run }}
26+
steps:
27+
- name: Check RUN_TESTS flag
28+
id: check
29+
run: echo "should-run=${{ env.RUN_TESTS }}" >> $GITHUB_OUTPUT
30+
1931
build:
2032
runs-on: devextreme-shr2
2133
name: Build
34+
needs: check-should-run
35+
if: needs.check-should-run.outputs.should-run == 'true'
2236
timeout-minutes: 25
2337

2438
steps:
@@ -77,7 +91,8 @@ jobs:
7791
retention-days: 1
7892

7993
qunit-tests-timezones:
80-
needs: build
94+
needs: [check-should-run, build]
95+
if: needs.check-should-run.outputs.should-run == 'true'
8196
runs-on: devextreme-shr2
8297
name: ${{ matrix.constel }}-${{ matrix.timezone }}
8398
timeout-minutes: 25
@@ -136,7 +151,8 @@ jobs:
136151
# useCsp: 'false'
137152

138153
qunit-tests-mobile-and-shadow-dom:
139-
needs: build
154+
needs: [check-should-run, build]
155+
if: needs.check-should-run.outputs.should-run == 'true'
140156
runs-on: devextreme-shr2
141157
name: ${{ matrix.constel }}-${{ matrix.kind }}
142158
timeout-minutes: 25
@@ -188,7 +204,8 @@ jobs:
188204
useCsp: 'true'
189205

190206
qunit-tests-firefox:
191-
needs: build
207+
needs: [check-should-run, build]
208+
if: needs.check-should-run.outputs.should-run == 'true'
192209
runs-on: devextreme-shr2
193210
name: ${{ matrix.constel }}-firefox
194211
timeout-minutes: 25
@@ -226,7 +243,8 @@ jobs:
226243
useCsp: 'true'
227244

228245
qunit-tests-common:
229-
needs: build
246+
needs: [check-should-run, build]
247+
if: needs.check-should-run.outputs.should-run == 'true'
230248
runs-on: devextreme-shr2
231249
name: ${{ matrix.constel }}-chrome
232250
timeout-minutes: 25
@@ -250,7 +268,8 @@ jobs:
250268
useCsp: 'true'
251269

252270
qunit-tests-no-csp:
253-
needs: build
271+
needs: [check-should-run, build]
272+
if: needs.check-should-run.outputs.should-run == 'true'
254273
runs-on: devextreme-shr2
255274
name: ${{ matrix.constel }}-no-csp
256275
timeout-minutes: 25

.github/workflows/testcafe_tests.yml

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,29 @@ on:
1010
- 'apps/**/*.md'
1111
push:
1212
branches: [24_2]
13+
workflow_dispatch:
1314

1415
env:
1516
NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_TOKEN }}
1617
NX_SKIP_NX_CACHE: ${{ (github.event_name != 'pull_request' || contains( github.event.pull_request.labels.*.name, 'skip-cache')) && 'true' || 'false' }}
1718
BUILD_TEST_INTERNAL_PACKAGE: true
19+
RUN_TESTS: true
1820

1921
jobs:
22+
check-should-run:
23+
name: Check if tests should run
24+
runs-on: devextreme-shr2
25+
outputs:
26+
should-run: ${{ steps.check.outputs.should-run }}
27+
steps:
28+
- name: Check RUN_TESTS flag
29+
id: check
30+
run: echo "should-run=${{ env.RUN_TESTS }}" >> $GITHUB_OUTPUT
31+
2032
build:
2133
name: build
34+
needs: check-should-run
35+
if: needs.check-should-run.outputs.should-run == 'true'
2236
strategy:
2337
fail-fast: false
2438

@@ -77,7 +91,8 @@ jobs:
7791

7892
testcafe:
7993
name: ${{ matrix.ARGS.name }}
80-
needs: [build]
94+
needs: [check-should-run, build]
95+
if: needs.check-should-run.outputs.should-run == 'true'
8196
strategy:
8297
fail-fast: false
8398
matrix:

0 commit comments

Comments
 (0)