@@ -15,22 +15,22 @@ jobs:
1515
1616 steps :
1717 - name : Get sources
18- uses : actions/checkout@v3
18+ uses : actions/checkout@v4
1919
2020 - name : Use Node.js
21- uses : actions/setup-node@v3
21+ uses : actions/setup-node@v4
2222 with :
2323 node-version : ' 18'
2424
2525 - name : Restore npm cache
26- uses : actions/cache@v3
26+ uses : actions/cache@v4
2727 with :
2828 path : ./node_modules
2929 key : ${{ runner.os }}-node-modules-${{ hashFiles('**/package-lock.json') }}
3030 restore-keys : ${{ runner.os }}-node-modules
3131
3232 - name : Restore artifacts cache
33- uses : actions/cache@v3
33+ uses : actions/cache@v4
3434 with :
3535 path : ./artifacts
3636 key : build-npm-devextreme-artifacts-${{ github.sha }}
4646 run : npm pack
4747
4848 - name : Copy build artifacts
49- uses : actions/upload-artifact@v3
49+ uses : actions/upload-artifact@v4
5050 with :
5151 name : devextreme-npm
5252 path : ./artifacts/npm/devextreme/devextreme-*.tgz
@@ -60,20 +60,20 @@ jobs:
6060
6161 steps :
6262 - name : Use Node.js
63- uses : actions/setup-node@v3
63+ uses : actions/setup-node@v4
6464 with :
6565 node-version : ' 14'
6666
6767 - name : Get sources
68- uses : actions/checkout@v3
68+ uses : actions/checkout@v4
6969
7070 - uses : ./.github/actions/pin-browsers
7171
7272 - name : Create directory link
7373 run : cd ../ && ln -s DevExtreme devextreme
7474
7575 - name : Restore npm cache
76- uses : actions/cache@v3
76+ uses : actions/cache@v4
7777 with :
7878 path : ./node_modules
7979 key : ${{ runner.os }}-node-modules-${{ hashFiles('**/package-lock.json') }}
@@ -101,7 +101,7 @@ jobs:
101101 test -d ../devextreme-angular-repo || git clone -b 22.2 https://github.com/devexpress/devextreme-angular ../devextreme-angular-repo
102102
103103 - name : Download artifacts
104- uses : actions/download-artifact@v3
104+ uses : actions/download-artifact@v4
105105 with :
106106 name : devextreme-npm
107107 path : ../devextreme-angular-repo/devextreme-setup
@@ -141,15 +141,15 @@ jobs:
141141
142142 steps :
143143 - name : Get sources
144- uses : actions/checkout@v3
144+ uses : actions/checkout@v4
145145
146146 - name : Use Node.js
147- uses : actions/setup-node@v3
147+ uses : actions/setup-node@v4
148148 with :
149149 node-version : ' 18'
150150
151151 - name : Download artifacts
152- uses : actions/download-artifact@v3
152+ uses : actions/download-artifact@v4
153153 with :
154154 name : devextreme-npm
155155 path : ./testing/bundlers
@@ -203,12 +203,12 @@ jobs:
203203
204204 steps :
205205 - name : Get sources
206- uses : actions/checkout@v3
206+ uses : actions/checkout@v4
207207
208208 - uses : ./.github/actions/pin-browsers
209209
210210 - name : Use Node.js
211- uses : actions/setup-node@v3
211+ uses : actions/setup-node@v4
212212 with :
213213 node-version : ' 18'
214214
@@ -229,7 +229,7 @@ jobs:
229229 test -d ./devextreme-demos || git clone -b $BASE_BRANCH --depth 1 https://github.com/devexpress/devextreme-demos ./devextreme-demos
230230
231231 - name : Download artifacts
232- uses : actions/download-artifact@v3
232+ uses : actions/download-artifact@v4
233233 with :
234234 name : devextreme-npm
235235 path : ./devextreme-demos
@@ -268,22 +268,40 @@ jobs:
268268 CI_ENV : true
269269 run : npm run test-testcafe
270270
271+ - name : Sanitize job name
272+ if : ${{ failure() }}
273+ run : echo "JOB_NAME=$(echo "${{ matrix.CONSTEL }}" | tr '/' '-')" >> $GITHUB_ENV
274+
271275 - name : Copy screenshots artifacts
272276 if : ${{ failure() }}
273- uses : actions/upload-artifact@v3
277+ uses : actions/upload-artifact@v4
274278 with :
275- name : screenshots
279+ name : screenshots-${{ env.JOB_NAME }}
276280 path : ${{ github.workspace }}/devextreme-demos/testing/artifacts/*
277281 if-no-files-found : ignore
278282
283+ merge-artifacts :
284+ runs-on : devextreme-shr2
285+ needs : test_demos
286+ if : ${{ failure() }}
287+
288+ steps :
289+ - name : Merge screenshot artifacts
290+ uses : actions/upload-artifact/merge@v4
291+ continue-on-error : true
292+ with :
293+ name : screenshots
294+ pattern : screenshots-*
295+ delete-merged : true
296+
279297 notify :
280298 runs-on : devextreme-shr2
281299 name : Send notifications
282300 needs : [build, test_angular_wrappers, test_bundlers, test_demos]
283301 if : always() && contains(needs.*.result, 'failure')
284302
285303 steps :
286- - uses : actions/checkout@v3
304+ - uses : actions/checkout@v4
287305 - uses : DevExpress/github-actions/send-teams-notification@main
288306 with :
289307 hook_url : ${{secrets.TEAMS_ALERT}}
0 commit comments