Skip to content

Commit 5d7caa8

Browse files
committed
Update CI workflows to enhance node_modules caching and versioning
1 parent f6d6867 commit 5d7caa8

File tree

4 files changed

+115
-79
lines changed

4 files changed

+115
-79
lines changed

.github/workflows/stage-1-commit.yaml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,6 @@ jobs:
248248
- name: "Checkout code"
249249
uses: actions/checkout@v4
250250

251-
# Simplified caching - template management has more complex caching of installed modules from another build step
252251
- name: "Cache node_modules"
253252
uses: actions/cache@v4
254253
with:
@@ -260,7 +259,7 @@ jobs:
260259
261260
- name: "Re-generate schemas"
262261
run: |
263-
npm ci --workspace internal/events
262+
npm ci
264263
npm --workspace internal/events run gen:jsonschema
265264
266265
- name: Check for schema changes

.github/workflows/stage-2-test.yaml

Lines changed: 32 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,14 @@ jobs:
4848
steps:
4949
- name: "Checkout code"
5050
uses: actions/checkout@v5
51+
- name: "Cache node_modules"
52+
uses: actions/cache@v4
53+
with:
54+
path: |
55+
**/node_modules
56+
key: ${{ runner.os }}-node-${{ inputs.nodejs_version }}-${{ hashFiles('**/package-lock.json') }}
57+
restore-keys: |
58+
${{ runner.os }}-node-${{ inputs.nodejs_version }}-
5159
- name: "Repo setup"
5260
run: |
5361
npm ci
@@ -62,6 +70,14 @@ jobs:
6270
steps:
6371
- name: "Checkout code"
6472
uses: actions/checkout@v5
73+
- name: "Cache node_modules"
74+
uses: actions/cache@v4
75+
with:
76+
path: |
77+
**/node_modules
78+
key: ${{ runner.os }}-node-${{ inputs.nodejs_version }}-${{ hashFiles('**/package-lock.json') }}
79+
restore-keys: |
80+
${{ runner.os }}-node-${{ inputs.nodejs_version }}-
6581
- name: "Repo setup"
6682
run: |
6783
npm ci
@@ -90,6 +106,14 @@ jobs:
90106
steps:
91107
- name: "Checkout code"
92108
uses: actions/checkout@v5
109+
- name: "Cache node_modules"
110+
uses: actions/cache@v4
111+
with:
112+
path: |
113+
**/node_modules
114+
key: ${{ runner.os }}-node-${{ inputs.nodejs_version }}-${{ hashFiles('**/package-lock.json') }}
115+
restore-keys: |
116+
${{ runner.os }}-node-${{ inputs.nodejs_version }}-
93117
- name: "Repo setup"
94118
run: |
95119
npm ci
@@ -106,6 +130,14 @@ jobs:
106130
steps:
107131
- name: "Checkout code"
108132
uses: actions/checkout@v5
133+
- name: "Cache node_modules"
134+
uses: actions/cache@v4
135+
with:
136+
path: |
137+
**/node_modules
138+
key: ${{ runner.os }}-node-${{ inputs.nodejs_version }}-${{ hashFiles('**/package-lock.json') }}
139+
restore-keys: |
140+
${{ runner.os }}-node-${{ inputs.nodejs_version }}-
109141
- name: "Repo setup"
110142
run: |
111143
npm ci
@@ -152,22 +184,3 @@ jobs:
152184
sonar_organisation_key: "${{ vars.SONAR_ORGANISATION_KEY }}"
153185
sonar_project_key: "${{ vars.SONAR_PROJECT_KEY }}"
154186
sonar_token: "${{ secrets.SONAR_TOKEN }}"
155-
156-
157-
test-contract-provider:
158-
name: "Test contracts (provider)"
159-
runs-on: ubuntu-latest
160-
permissions:
161-
contents: read
162-
packages: read
163-
steps:
164-
- name: "Checkout code"
165-
uses: actions/[email protected]
166-
# - name: "Restore node_modules from cache"
167-
# uses: ./.github/actions/node-modules-cache
168-
# with:
169-
# node_version: "${{ inputs.nodejs_version }}"
170-
- name: "Run provider contract tests"
171-
run: make test-contract-provider
172-
env:
173-
GITHUB_PACKAGES_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/stage-4-acceptance.yaml

Lines changed: 81 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -52,20 +52,43 @@ jobs:
5252
- name: "Deploy application"
5353
run: |
5454
echo "Deploying application..."
55-
test-contract:
56-
name: "Contract test"
55+
# test-contract:
56+
# name: "Contract test"
57+
# runs-on: ubuntu-latest
58+
# needs: environment-set-up
59+
# timeout-minutes: 10
60+
# steps:
61+
# - name: "Checkout code"
62+
# uses: actions/checkout@v5
63+
# - name: "Run contract test"
64+
# run: |
65+
# make test-contract
66+
# - name: "Save result"
67+
# run: |
68+
# echo "Nothing to save"
69+
70+
test-contract-provider:
71+
name: "Test contracts (provider)"
5772
runs-on: ubuntu-latest
58-
needs: environment-set-up
59-
timeout-minutes: 10
73+
permissions:
74+
contents: read
75+
packages: read
6076
steps:
6177
- name: "Checkout code"
62-
uses: actions/checkout@v5
63-
- name: "Run contract test"
64-
run: |
65-
make test-contract
66-
- name: "Save result"
67-
run: |
68-
echo "Nothing to save"
78+
uses: actions/[email protected]
79+
- name: "Cache node_modules"
80+
uses: actions/cache@v4
81+
with:
82+
path: |
83+
**/node_modules
84+
key: ${{ runner.os }}-node-${{ inputs.nodejs_version }}-${{ hashFiles('**/package-lock.json') }}
85+
restore-keys: |
86+
${{ runner.os }}-node-${{ inputs.nodejs_version }}-
87+
- name: "Run provider contract tests"
88+
run: make test-contract-provider
89+
env:
90+
GITHUB_PACKAGES_TOKEN: ${{ secrets.GITHUB_TOKEN }}
91+
6992
test-security:
7093
name: "Security test"
7194
runs-on: ubuntu-latest
@@ -80,34 +103,34 @@ jobs:
80103
- name: "Save result"
81104
run: |
82105
echo "Nothing to save"
83-
test-ui:
84-
name: "UI test"
85-
runs-on: ubuntu-latest
86-
needs: environment-set-up
87-
timeout-minutes: 10
88-
steps:
89-
- name: "Checkout code"
90-
uses: actions/checkout@v5
91-
- name: "Run UI test"
92-
run: |
93-
make test-ui
94-
- name: "Save result"
95-
run: |
96-
echo "Nothing to save"
97-
test-ui-performance:
98-
name: "UI performance test"
99-
runs-on: ubuntu-latest
100-
needs: environment-set-up
101-
timeout-minutes: 10
102-
steps:
103-
- name: "Checkout code"
104-
uses: actions/checkout@v5
105-
- name: "Run UI performance test"
106-
run: |
107-
make test-ui-performance
108-
- name: "Save result"
109-
run: |
110-
echo "Nothing to save"
106+
# test-ui:
107+
# name: "UI test"
108+
# runs-on: ubuntu-latest
109+
# needs: environment-set-up
110+
# timeout-minutes: 10
111+
# steps:
112+
# - name: "Checkout code"
113+
# uses: actions/checkout@v5
114+
# - name: "Run UI test"
115+
# run: |
116+
# make test-ui
117+
# - name: "Save result"
118+
# run: |
119+
# echo "Nothing to save"
120+
# test-ui-performance:
121+
# name: "UI performance test"
122+
# runs-on: ubuntu-latest
123+
# needs: environment-set-up
124+
# timeout-minutes: 10
125+
# steps:
126+
# - name: "Checkout code"
127+
# uses: actions/checkout@v5
128+
# - name: "Run UI performance test"
129+
# run: |
130+
# make test-ui-performance
131+
# - name: "Save result"
132+
# run: |
133+
# echo "Nothing to save"
111134
test-integration:
112135
name: "Integration test"
113136
runs-on: ubuntu-latest
@@ -122,20 +145,20 @@ jobs:
122145
- name: "Save result"
123146
run: |
124147
echo "Nothing to save"
125-
test-accessibility:
126-
name: "Accessibility test"
127-
runs-on: ubuntu-latest
128-
needs: environment-set-up
129-
timeout-minutes: 10
130-
steps:
131-
- name: "Checkout code"
132-
uses: actions/checkout@v5
133-
- name: "Run accessibility test"
134-
run: |
135-
make test-accessibility
136-
- name: "Save result"
137-
run: |
138-
echo "Nothing to save"
148+
# test-accessibility:
149+
# name: "Accessibility test"
150+
# runs-on: ubuntu-latest
151+
# needs: environment-set-up
152+
# timeout-minutes: 10
153+
# steps:
154+
# - name: "Checkout code"
155+
# uses: actions/checkout@v5
156+
# - name: "Run accessibility test"
157+
# run: |
158+
# make test-accessibility
159+
# - name: "Save result"
160+
# run: |
161+
# echo "Nothing to save"
139162
test-load:
140163
name: "Load test"
141164
runs-on: ubuntu-latest
@@ -155,13 +178,14 @@ jobs:
155178
runs-on: ubuntu-latest
156179
needs:
157180
[
158-
test-accessibility,
159-
test-contract,
181+
# test-accessibility,
182+
# test-contract,
183+
test-contract-provider,
160184
test-integration,
161185
test-load,
162186
test-security,
163-
test-ui-performance,
164-
test-ui,
187+
# test-ui-performance,
188+
# test-ui,
165189
]
166190
if: always()
167191
timeout-minutes: 5

package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)