Skip to content

Commit 4b22f8b

Browse files
CI: optimize workflow for security updates (#31468)
Co-authored-by: Alex Lavrov <[email protected]>
1 parent 869d26f commit 4b22f8b

File tree

6 files changed

+73
-13
lines changed

6 files changed

+73
-13
lines changed

.github/workflows/devextreme_npm_tests.yml

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,28 @@ on:
88
pull_request:
99
push:
1010
branches: [23_2]
11+
workflow_dispatch:
1112

1213
env:
1314
NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_TOKEN }}
1415
NX_SKIP_NX_CACHE: ${{ (github.event_name != 'pull_request' || contains( github.event.pull_request.labels.*.name, 'skip-cache')) && 'true' || 'false' }}
16+
RUN_TESTS: ${{ (github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'force all tests')) && 'true' || 'false' }}
1517

1618
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+
1729
build:
1830
runs-on: devextreme-shr2
31+
needs: check-should-run
32+
if: needs.check-should-run.outputs.should-run == 'true'
1933

2034
steps:
2135
- name: Get sources
@@ -63,7 +77,8 @@ jobs:
6377

6478
test_bundlers:
6579
name: Bundlers tests
66-
needs: build
80+
needs: [check-should-run, build]
81+
if: needs.check-should-run.outputs.should-run == 'true'
6782
runs-on: devextreme-shr2
6883
timeout-minutes: 60
6984

@@ -119,7 +134,8 @@ jobs:
119134
run: npm run build:vite
120135

121136
test_demos:
122-
needs: build
137+
needs: [check-should-run, build]
138+
if: needs.check-should-run.outputs.should-run == 'true'
123139
strategy:
124140
fail-fast: false
125141
matrix:

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

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,27 @@ on:
88
pull_request:
99
push:
1010
branches: [23_2]
11+
workflow_dispatch:
12+
13+
env:
14+
RUN_TESTS: ${{ (github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'force all tests')) && 'true' || 'false' }}
1115

1216
jobs:
17+
check-should-run:
18+
name: Check if tests should run
19+
runs-on: devextreme-shr2
20+
outputs:
21+
should-run: ${{ steps.check.outputs.should-run }}
22+
steps:
23+
- name: Check RUN_TESTS flag
24+
id: check
25+
run: echo "should-run=${{ env.RUN_TESTS }}" >> $GITHUB_OUTPUT
26+
1327
build:
1428
runs-on: devextreme-shr2
1529
name: Build
30+
needs: check-should-run
31+
if: needs.check-should-run.outputs.should-run == 'true'
1632
timeout-minutes: 15
1733

1834
steps:
@@ -57,7 +73,8 @@ jobs:
5773
retention-days: 1
5874

5975
qunit-tests-timezones:
60-
needs: build
76+
needs: [check-should-run, build]
77+
if: needs.check-should-run.outputs.should-run == 'true'
6178
runs-on: devextreme-shr2
6279
name: ${{ matrix.constel }}-${{ matrix.timezone }}
6380
timeout-minutes: 15
@@ -112,7 +129,8 @@ jobs:
112129
useCsp: 'false'
113130

114131
qunit-tests-mobile-and-shadow-dom:
115-
needs: build
132+
needs: [check-should-run, build]
133+
if: needs.check-should-run.outputs.should-run == 'true'
116134
runs-on: devextreme-shr2
117135
name: ${{ matrix.constel }}-${{ matrix.kind }}
118136
timeout-minutes: 15
@@ -178,7 +196,8 @@ jobs:
178196
useCsp: 'true'
179197

180198
qunit-tests-firefox:
181-
needs: build
199+
needs: [check-should-run, build]
200+
if: needs.check-should-run.outputs.should-run == 'true'
182201
runs-on: devextreme-shr2
183202
name: ${{ matrix.constel }}-firefox
184203
timeout-minutes: 15
@@ -216,7 +235,8 @@ jobs:
216235
useCsp: 'true'
217236

218237
qunit-tests-no-csp:
219-
needs: build
238+
needs: [check-should-run, build]
239+
if: needs.check-should-run.outputs.should-run == 'true'
220240
runs-on: devextreme-shr2
221241
name: ${{ matrix.constel }}-no-csp
222242
timeout-minutes: 15

.github/workflows/testcafe_tests.yml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,23 @@ on:
1212
env:
1313
NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_TOKEN }}
1414
NX_SKIP_NX_CACHE: ${{ (github.event_name != 'pull_request' || contains( github.event.pull_request.labels.*.name, 'skip-cache')) && 'true' || 'false' }}
15+
RUN_TESTS: ${{ (github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'force all tests')) && 'true' || 'false' }}
1516

1617
jobs:
18+
check-should-run:
19+
name: Check if tests should run
20+
runs-on: devextreme-shr2
21+
outputs:
22+
should-run: ${{ steps.check.outputs.should-run }}
23+
steps:
24+
- name: Check RUN_TESTS flag
25+
id: check
26+
run: echo "should-run=${{ env.RUN_TESTS }}" >> $GITHUB_OUTPUT
27+
1728
build:
1829
name: build
30+
needs: check-should-run
31+
if: needs.check-should-run.outputs.should-run == 'true'
1932
strategy:
2033
fail-fast: false
2134

@@ -58,7 +71,8 @@ jobs:
5871

5972
testcafe:
6073
name: ${{ matrix.ARGS.name }}
61-
needs: [build]
74+
needs: [check-should-run, build]
75+
if: needs.check-should-run.outputs.should-run == 'true'
6276
strategy:
6377
fail-fast: false
6478
matrix:

.github/workflows/ts_declarations.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ jobs:
5050
fi
5151
5252
validate-declarations:
53-
runs-on: devextreme-shr2
53+
runs-on: ubuntu-latest
5454
timeout-minutes: 60
5555
steps:
5656
- name: Get sources
@@ -61,6 +61,11 @@ jobs:
6161
with:
6262
node-version: '20'
6363

64+
- name: Set up .NET
65+
uses: actions/setup-dotnet@v4
66+
with:
67+
dotnet-version: 6.0.x
68+
6469
- name: Restore npm cache
6570
uses: actions/cache@v4
6671
with:

.github/workflows/wrapper_tests.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ env:
1111

1212
jobs:
1313
test:
14-
runs-on: devextreme-shr2
14+
runs-on: ubuntu-22.04
1515
timeout-minutes: 30
1616

1717
steps:
@@ -23,6 +23,11 @@ jobs:
2323
with:
2424
node-version: '20'
2525

26+
- name: Set up .NET
27+
uses: actions/setup-dotnet@v4
28+
with:
29+
dotnet-version: 6.0.x
30+
2631
- name: Get npm cache directory
2732
id: npm-cache-dir
2833
shell: bash

packages/devextreme/testing/runner/runner.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
<Project Sdk="Microsoft.NET.Sdk.Web" ToolsVersion="15.0">
1+
<Project Sdk="Microsoft.NET.Sdk.Web">
22

33
<ItemGroup>
4-
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="6.0.25" />
5-
<PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="6.0.25" />
4+
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="8.0.19" />
5+
<PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="8.0.19" />
66
</ItemGroup>
77

88
<PropertyGroup>
9-
<TargetFramework>net6</TargetFramework>
9+
<TargetFramework>net8.0</TargetFramework>
1010
<PreserveCompilationContext>true</PreserveCompilationContext>
1111
<StartupObject>Runner.Program</StartupObject>
1212
<OutputType>Exe</OutputType>

0 commit comments

Comments
 (0)