@@ -16,29 +16,59 @@ concurrency:
1616 cancel-in-progress : true
1717
1818jobs :
19+ changes :
20+ runs-on : ubuntu-latest
21+
22+ outputs :
23+ src : ${{ steps.changes.outputs.src}}
24+
25+ steps :
26+ - uses : dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
27+ id : changes
28+ continue-on-error : true
29+ with :
30+ filters : |
31+ src:
32+ - '.github/workflows/**'
33+ - '__tests__/**'
34+ - '__mocks__/**'
35+ - 'src/**'
36+ - 'appinfo/info.xml'
37+ - 'package.json'
38+ - 'package-lock.json'
39+ - 'tsconfig.json'
40+ - '**.js'
41+ - '**.ts'
42+ - '**.vue'
43+
1944 test :
2045 runs-on : ubuntu-latest
2146
47+ needs : changes
48+ if : needs.changes.outputs.src != 'false'
49+
2250 steps :
2351 - name : Checkout
24- uses : actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
52+ uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
2553
2654 - name : Read package.json node and npm engines version
2755 uses : skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
2856 id : versions
2957 with :
3058 fallbackNode : ' ^20'
31- fallbackNpm : ' ^9 '
59+ fallbackNpm : ' ^10 '
3260
3361 - name : Set up node ${{ steps.versions.outputs.nodeVersion }}
34- uses : actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0
62+ uses : actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
3563 with :
3664 node-version : ${{ steps.versions.outputs.nodeVersion }}
3765
3866 - name : Set up npm ${{ steps.versions.outputs.npmVersion }}
3967 run : npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
4068
4169 - name : Install dependencies & build
70+ env :
71+ CYPRESS_INSTALL_BINARY : 0
4272 run : |
4373 npm ci
4474 npm run build --if-present
@@ -48,18 +78,22 @@ jobs:
4878
4979 - name : Test and process coverage
5080 run : npm run test:coverage --if-present
51-
81+
5282 - name : Collect coverage
53- uses : codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3 .1.4
83+ uses : codecov/codecov-action@54bcd8715eee62d40e33596ef5e8f0f48dbbccab # v4 .1.0
5484 with :
5585 files : ./coverage/lcov.info
5686
5787 summary :
88+ permissions :
89+ contents : none
5890 runs-on : ubuntu-latest
59- needs : test
91+ needs : [changes, test]
92+
6093 if : always()
6194
6295 name : test-summary
96+
6397 steps :
6498 - name : Summary status
65- run : if ${{ needs.test.result != 'success ' && needs.test.result != 'skipped ' }}; then exit 1; fi
99+ run : if ${{ needs.changes.outputs.src != 'false ' && needs.test.result != 'success ' }}; then exit 1; fi
0 commit comments