1+ # This workflow is provided via the organization template repository
2+ #
3+ # https://github.com/nextcloud/.github
4+ # https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
5+ #
6+ # SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors
7+ # SPDX-License-Identifier: MIT
8+
19name : Node tests
210
311on :
412 pull_request :
513 schedule :
614 - cron : " 5 2 * * *"
715
16+ permissions :
17+ contents : read
18+
819concurrency :
920 group : node-tests-${{ github.head_ref || github.run_id }}
1021 cancel-in-progress : true
@@ -26,18 +37,18 @@ jobs:
2637 - '.github/workflows/**'
2738 - '**/__tests__/**'
2839 - '**/__mocks__/**'
29- - '**/src/**'
30- - '**/appinfo/info.xml'
40+ - 'apps/*/src/**'
41+ - 'apps/*/appinfo/info.xml'
42+ - 'core/src/**'
3143 - 'package.json'
3244 - 'package-lock.json'
3345 - 'tsconfig.json'
3446 - '**.js'
3547 - '**.ts'
3648 - '**.vue'
37- - '**.handlebars'
3849
3950 versions :
40- runs-on : ubuntu-latest
51+ runs-on : ubuntu-latest-low
4152 needs : changes
4253
4354 if : ${{ github.repository_owner != 'nextcloud-gmbh' && needs.changes.outputs.src != 'false' }}
@@ -48,14 +59,14 @@ jobs:
4859
4960 steps :
5061 - name : Checkout
51- uses : actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633
62+ uses : actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
5263
5364 - name : Read package.json node and npm engines version
54- uses : skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1
65+ uses : skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
5566 id : versions
5667 with :
5768 fallbackNode : ' ^20'
58- fallbackNpm : ' ^9 '
69+ fallbackNpm : ' ^10 '
5970
6071 test :
6172 runs-on : ubuntu-latest
@@ -69,27 +80,26 @@ jobs:
6980
7081 steps :
7182 - name : Checkout
72- uses : actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633
83+ uses : actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
7384
7485 - name : Set up node ${{ needs.versions.outputs.nodeVersion }}
75- uses : actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8
86+ uses : actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
7687 with :
7788 node-version : ${{ needs.versions.outputs.nodeVersion }}
7889
7990 - name : Set up npm ${{ needs.versions.outputs.npmVersion }}
8091 run : npm i -g npm@"${{ needs.versions.outputs.npmVersion }}"
8192
82- - name : Install dependencies
83- run : npm ci
84-
85- - name : Show cypress version
86- run : npm run cypress:version
93+ - name : Install dependencies & build
94+ run : |
95+ npm ci
96+ npm run build --if-present
8797
8898 - name : Test and process coverage
89- run : npm run test:coverage
99+ run : npm run test:coverage --if-present
90100
91101 - name : Collect coverage
92- uses : codecov/codecov-action@c16abc29c95fcf9174b58eb7e1abf4c866893bc8 # v4.1 .1
102+ uses : codecov/codecov-action@5ecb98a3c6b747ed38dc09f787459979aebb39be # v4.3 .1
93103 with :
94104 files : ./coverage/lcov.info
95105
@@ -104,10 +114,10 @@ jobs:
104114
105115 steps :
106116 - name : Checkout
107- uses : actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633
117+ uses : actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
108118
109119 - name : Set up node ${{ needs.versions.outputs.nodeVersion }}
110- uses : actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8
120+ uses : actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
111121 with :
112122 node-version : ${{ needs.versions.outputs.nodeVersion }}
113123
@@ -117,9 +127,6 @@ jobs:
117127 - name : Install dependencies
118128 run : npm ci
119129
120- - name : Show cypress version
121- run : npm run cypress:version
122-
123130 - name : Test
124131 run : npm run test:jsunit
125132
@@ -135,10 +142,10 @@ jobs:
135142
136143 steps :
137144 - name : Checkout
138- uses : actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633
145+ uses : actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
139146
140147 - name : Set up node ${{ needs.versions.outputs.nodeVersion }}
141- uses : actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8
148+ uses : actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
142149 with :
143150 node-version : ${{ needs.versions.outputs.nodeVersion }}
144151
@@ -148,9 +155,6 @@ jobs:
148155 - name : Install dependencies
149156 run : npm ci
150157
151- - name : Show cypress version
152- run : npm run cypress:version
153-
154158 - name : Run compile
155159 run : ./build/compile-handlebars-templates.sh
156160
0 commit comments