@@ -18,19 +18,19 @@ jobs:
1818 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 : ' 20'
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 }}
5555 cp ./artifacts/npm/devextreme-dist/*.tgz ./devextreme-dist-installer.tgz
5656
5757 - name : Copy build artifacts
58- uses : actions/upload-artifact@v3
58+ uses : actions/upload-artifact@v4
5959 with :
6060 name : devextreme-npm
6161 path : |
7171
7272 steps :
7373 - name : Use Node.js
74- uses : actions/setup-node@v3
74+ uses : actions/setup-node@v4
7575 with :
7676 node-version : ' 18.16.1'
7777
8787 run : cd ../ && ln -s DevExtreme devextreme
8888
8989 - name : Restore npm cache
90- uses : actions/cache@v3
90+ uses : actions/cache@v4
9191 with :
9292 path : ./node_modules
9393 key : ${{ runner.os }}-node-modules-${{ hashFiles('**/package-lock.json') }}
@@ -115,7 +115,7 @@ jobs:
115115 test -d ../devextreme-angular-repo || git clone -b 23.1 https://github.com/devexpress/devextreme-angular ../devextreme-angular-repo
116116
117117 - name : Download artifacts
118- uses : actions/download-artifact@v3
118+ uses : actions/download-artifact@v4
119119 with :
120120 name : devextreme-npm
121121 path : ../devextreme-angular-repo/devextreme-setup
@@ -156,12 +156,12 @@ jobs:
156156 uses : actions/checkout@v4
157157
158158 - name : Use Node.js
159- uses : actions/setup-node@v3
159+ uses : actions/setup-node@v4
160160 with :
161161 node-version : ' 20'
162162
163163 - name : Download artifacts
164- uses : actions/download-artifact@v3
164+ uses : actions/download-artifact@v4
165165 with :
166166 name : devextreme-npm
167167 path : ./testing/bundlers
@@ -223,7 +223,7 @@ jobs:
223223 chrome-version : ' 121.0.6167.160'
224224
225225 - name : Use Node.js
226- uses : actions/setup-node@v3
226+ uses : actions/setup-node@v4
227227 with :
228228 node-version : ' 20'
229229
@@ -244,7 +244,7 @@ jobs:
244244 test -d ./devextreme-demos || git clone -b $BASE_BRANCH https://github.com/devexpress/devextreme-demos ./devextreme-demos
245245
246246 - name : Download artifacts
247- uses : actions/download-artifact@v3
247+ uses : actions/download-artifact@v4
248248 with :
249249 name : devextreme-npm
250250 path : ./devextreme-demos
@@ -285,14 +285,32 @@ jobs:
285285286286 npm run test-testcafe
287287
288+ - name : Sanitize job name
289+ if : ${{ failure() }}
290+ run : echo "JOB_NAME=$(echo "${{ matrix.CONSTEL }}" | tr '/' '-')" >> $GITHUB_ENV
291+
288292 - name : Copy screenshots artifacts
289293 if : ${{ failure() }}
290- uses : actions/upload-artifact@v3
294+ uses : actions/upload-artifact@v4
291295 with :
292- name : screenshots
296+ name : screenshots-${{ env.JOB_NAME }}
293297 path : ${{ github.workspace }}/devextreme-demos/testing/artifacts/*
294298 if-no-files-found : ignore
295299
300+ merge-artifacts :
301+ runs-on : devextreme-shr2
302+ needs : test_demos
303+ if : ${{ failure() }}
304+
305+ steps :
306+ - name : Merge screenshot artifacts
307+ uses : actions/upload-artifact/merge@v4
308+ continue-on-error : true
309+ with :
310+ name : screenshots
311+ pattern : screenshots-*
312+ delete-merged : true
313+
296314 notify :
297315 runs-on : devextreme-shr2
298316 name : Send notifications
0 commit comments