Skip to content

Commit 77102b8

Browse files
committed
Refactor actions to reuse shared steps
1 parent 8a9cb68 commit 77102b8

File tree

11 files changed

+67
-120
lines changed

11 files changed

+67
-120
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
name: Build the frontend assets
2+
description: Installs Node.js and builds the frontend assets from the frontend directory
3+
4+
runs:
5+
using: composite
6+
steps:
7+
- name: Install Node
8+
uses: actions/[email protected]
9+
with:
10+
node-version: '22'
11+
12+
- name: Install dependencies
13+
run: npm ci
14+
working-directory: ./frontend
15+
shell: sh
16+
17+
- name: Build the frontend assets
18+
run: npm run build
19+
working-directory: ./frontend
20+
shell: sh
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
name: Build the Open Policy Agent policies
2+
description: Installs OPA and builds the policies
3+
4+
runs:
5+
using: composite
6+
steps:
7+
- name: Install Open Policy Agent
8+
uses: open-policy-agent/[email protected]
9+
with:
10+
version: 0.70.0
11+
12+
- name: Build the policies
13+
run: make
14+
working-directory: ./policies
15+
shell: sh

.github/workflows/build.yaml

Lines changed: 2 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -59,27 +59,8 @@ jobs:
5959
- name: Checkout the code
6060
uses: actions/[email protected]
6161

62-
- name: Setup OPA
63-
uses: open-policy-agent/[email protected]
64-
with:
65-
version: 0.64.1
66-
67-
- name: Install frontend Node
68-
uses: actions/[email protected]
69-
with:
70-
node-version: 20
71-
72-
- name: Install frontend Node dependencies
73-
working-directory: ./frontend
74-
run: npm ci
75-
76-
- name: Build frontend
77-
working-directory: ./frontend
78-
run: npm run build
79-
80-
- name: Build policies
81-
working-directory: ./policies
82-
run: make
62+
- uses: ./.github/actions/build-frontend
63+
- uses: ./.github/actions/build-policies
8364

8465
- name: Prepare assets artifact
8566
run: |

.github/workflows/ci.yaml

Lines changed: 15 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ jobs:
6363
- name: Install Node
6464
uses: actions/[email protected]
6565
with:
66-
node-version: 20
66+
node-version: 22
6767

6868
- name: Install Node dependencies
6969
working-directory: ./frontend
@@ -88,7 +88,7 @@ jobs:
8888
- name: Install Node
8989
uses: actions/[email protected]
9090
with:
91-
node-version: 20
91+
node-version: 22
9292

9393
- name: Install Node dependencies
9494
working-directory: ./frontend
@@ -135,11 +135,10 @@ jobs:
135135
- name: Checkout the code
136136
uses: actions/[email protected]
137137

138-
- name: Install toolchain
139-
run: |
140-
rustup toolchain install nightly
141-
rustup default nightly
142-
rustup component add rustfmt
138+
- name: Install Rust toolchain
139+
uses: dtolnay/rust-toolchain@nightly
140+
with:
141+
components: rustfmt
143142

144143
- name: Check style
145144
run: cargo fmt --all -- --check
@@ -183,14 +182,7 @@ jobs:
183182
- name: Setup sccache
184183
uses: mozilla-actions/[email protected]
185184

186-
- name: Install Node
187-
uses: actions/[email protected]
188-
with:
189-
node-version: 20
190-
191-
- name: Install Node dependencies
192-
working-directory: ./frontend
193-
run: npm ci
185+
- uses: ./.github/actions/build-frontend
194186

195187
- name: Update the schemas
196188
run: sh ./misc/update.sh
@@ -224,11 +216,10 @@ jobs:
224216
- name: Checkout the code
225217
uses: actions/[email protected]
226218

227-
- name: Install toolchain
228-
run: |
229-
rustup toolchain install 1.84.0
230-
rustup default 1.84.0
231-
rustup component add clippy
219+
- name: Install Rust toolchain
220+
uses: dtolnay/[email protected]
221+
with:
222+
components: clippy
232223

233224
- name: Setup OPA
234225
uses: open-policy-agent/[email protected]
@@ -258,10 +249,8 @@ jobs:
258249
- name: Checkout
259250
uses: actions/[email protected]
260251

261-
- name: Install toolchain
262-
run: |
263-
rustup toolchain install stable
264-
rustup default stable
252+
- name: Install Rust toolchain
253+
uses: dtolnay/rust-toolchain@stable
265254

266255
- name: Install nextest
267256
uses: taiki-e/install-action@v2
@@ -320,27 +309,8 @@ jobs:
320309
with:
321310
tool: cargo-nextest
322311

323-
- name: Install Node
324-
uses: actions/[email protected]
325-
with:
326-
node-version: 20
327-
328-
- name: Install Node dependencies
329-
working-directory: ./frontend
330-
run: npm ci
331-
332-
- name: Build the frontend
333-
working-directory: ./frontend
334-
run: npm run build
335-
336-
- name: Setup OPA
337-
uses: open-policy-agent/[email protected]
338-
with:
339-
version: 0.64.1
340-
341-
- name: Compile OPA policies
342-
working-directory: ./policies
343-
run: make
312+
- uses: ./.github/actions/build-frontend
313+
- uses: ./.github/actions/build-policies
344314

345315
- name: Download archive
346316
uses: actions/download-artifact@v4

.github/workflows/coverage.yaml

Lines changed: 7 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -54,18 +54,7 @@ jobs:
5454
- name: Checkout the code
5555
uses: actions/[email protected]
5656

57-
- name: Install Node
58-
uses: actions/[email protected]
59-
with:
60-
node-version: 20
61-
62-
- name: Install Node dependencies
63-
working-directory: ./frontend
64-
run: npm ci
65-
66-
- name: Build the frontend
67-
working-directory: ./frontend
68-
run: npm run build
57+
- uses: ./.github/actions/build-frontend
6958
env:
7059
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
7160

@@ -110,33 +99,10 @@ jobs:
11099
- name: Checkout the code
111100
uses: actions/[email protected]
112101

113-
- name: Install toolchain
114-
run: |
115-
rustup toolchain install stable
116-
rustup default stable
117-
rustup component add llvm-tools-preview
118-
119-
- name: Install Node
120-
uses: actions/[email protected]
121-
with:
122-
node-version: 20
123-
124-
- name: Install Node dependencies
125-
working-directory: ./frontend
126-
run: npm ci
127-
128-
- name: Build the frontend
129-
working-directory: ./frontend
130-
run: npm run build
131-
132-
- name: Setup OPA
133-
uses: open-policy-agent/[email protected]
102+
- name: Install Rust toolchain
103+
uses: dtolnay/rust-toolchain@stable
134104
with:
135-
version: 0.64.1
136-
137-
- name: Compile OPA policies
138-
working-directory: ./policies
139-
run: make
105+
components: llvm-tools-preview
140106

141107
- name: Setup sccache
142108
uses: mozilla-actions/[email protected]
@@ -146,6 +112,9 @@ jobs:
146112
with:
147113
tool: grcov
148114

115+
- uses: ./.github/actions/build-frontend
116+
- uses: ./.github/actions/build-policies
117+
149118
- name: Run test suite with profiling enabled
150119
run: |
151120
cargo test --no-fail-fast --workspace

.github/workflows/docs.yaml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,7 @@ jobs:
2323
uses: actions/[email protected]
2424

2525
- name: Install Rust toolchain
26-
run: |
27-
rustup toolchain install stable
28-
rustup default stable
26+
uses: dtolnay/rust-toolchain@stable
2927

3028
- name: Setup sccache
3129
uses: mozilla-actions/[email protected]
@@ -38,7 +36,7 @@ jobs:
3836
- name: Install Node
3937
uses: actions/[email protected]
4038
with:
41-
node-version: 20
39+
node-version: 22
4240

4341
- name: Build the documentation
4442
run: sh misc/build-docs.sh

.github/workflows/release-branch.yaml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,7 @@ jobs:
2323
uses: actions/[email protected]
2424

2525
- name: Install Rust toolchain
26-
run: |
27-
rustup toolchain install stable
28-
rustup default stable
26+
uses: dtolnay/rust-toolchain@stable
2927

3028
- name: Compute the new minor RC
3129
id: next
@@ -52,7 +50,7 @@ jobs:
5250
- name: Install Node
5351
uses: actions/[email protected]
5452
with:
55-
node-version: 20
53+
node-version: 22
5654

5755
- name: Install Localazy CLI
5856
run: npm install -g @localazy/cli

.github/workflows/release-bump.yaml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,7 @@ jobs:
3131
uses: actions/[email protected]
3232

3333
- name: Install Rust toolchain
34-
run: |
35-
rustup toolchain install stable
36-
rustup default stable
34+
uses: dtolnay/rust-toolchain@stable
3735

3836
- name: Extract the current version
3937
id: current

.github/workflows/tag.yaml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,7 @@ jobs:
2828
uses: actions/[email protected]
2929

3030
- name: Install Rust toolchain
31-
run: |
32-
rustup toolchain install stable
33-
rustup default stable
31+
uses: dtolnay/rust-toolchain@stable
3432

3533
- name: Set the crates version
3634
env:

.github/workflows/translations-download.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
- name: Install Node
2020
uses: actions/[email protected]
2121
with:
22-
node-version: 20
22+
node-version: 22
2323

2424
- name: Install Localazy CLI
2525
run: npm install -g @localazy/cli

0 commit comments

Comments
 (0)