Skip to content

Commit c281aaa

Browse files
committed
Modernize actions workflow
1 parent aeb8b30 commit c281aaa

File tree

2 files changed

+59
-133
lines changed

2 files changed

+59
-133
lines changed

.github/workflows/check.yml

Lines changed: 54 additions & 124 deletions
Original file line numberDiff line numberDiff line change
@@ -5,238 +5,168 @@ jobs:
55
name: x86_64 stable
66
runs-on: ubuntu-latest
77
steps:
8-
- uses: actions/checkout@v3
8+
- uses: actions/checkout@v4
99
- name: Install stable toolchain
10-
uses: actions-rs/toolchain@v1
10+
id: toolchain
11+
uses: dtolnay/rust-toolchain@master
1112
with:
13+
toolchain: stable
1214
components: clippy, rustfmt
1315
- name: Run rustfmt
14-
uses: actions-rs/cargo@v1
15-
with:
16-
command: fmt
17-
args: --all -- --check
16+
run: cargo +${{steps.toolchain.outputs.name}} fmt --all -- --check
1817
- name: Build all targets
19-
uses: actions-rs/cargo@v1
20-
with:
21-
command: build
22-
args: --workspace --all-targets
18+
run: cargo +${{steps.toolchain.outputs.name}} build --workspace --all-targets
2319
- name: Run Clippy linter
24-
uses: actions-rs/cargo@v1
25-
with:
26-
command: clippy
27-
args: --workspace --all-targets -- -D warnings
20+
run: cargo +${{steps.toolchain.outputs.name}} clippy --workspace --all-targets -- -D warnings
2821
- name: Run tests
29-
uses: actions-rs/cargo@v1
30-
with:
31-
command: test
32-
args: --workspace
22+
run: cargo +${{steps.toolchain.outputs.name}} test --workspace
3323
x86_64-nightly:
3424
name: x86_64 nightly
3525
runs-on: ubuntu-latest
3626
steps:
37-
- uses: actions/checkout@v3
27+
- uses: actions/checkout@v4
3828
- name: Install nightly toolchain
39-
uses: actions-rs/toolchain@v1
29+
id: toolchain
30+
uses: dtolnay/rust-toolchain@master
4031
with:
4132
toolchain: nightly
42-
override: true
4333
components: clippy, rustfmt
4434
- name: Run rustfmt
45-
uses: actions-rs/cargo@v1
46-
with:
47-
command: fmt
48-
args: --all -- --check
35+
run: cargo +${{steps.toolchain.outputs.name}} fmt --all -- --check
4936
- name: Build all targets
50-
uses: actions-rs/cargo@v1
51-
with:
52-
command: build
53-
args: --workspace --all-targets --all-features
37+
run: cargo +${{steps.toolchain.outputs.name}} build --workspace --all-targets --all-features
5438
- name: Run Clippy linter
55-
uses: actions-rs/cargo@v1
56-
with:
57-
command: clippy
58-
args: --workspace --all-targets --all-features -- -D warnings
39+
run: cargo +${{steps.toolchain.outputs.name}} clippy --workspace --all-targets --all-features -- -D warnings
5940
- name: Run tests
60-
uses: actions-rs/cargo@v1
61-
with:
62-
command: test
63-
args: --workspace --all-features
41+
run: cargo +${{steps.toolchain.outputs.name}} test --workspace --all-features
6442
x86_64-sanitizer:
6543
name: x86_64 sanitizer
6644
runs-on: ubuntu-latest
6745
steps:
68-
- uses: actions/checkout@v3
46+
- uses: actions/checkout@v4
6947
- name: Install nightly toolchain
70-
uses: actions-rs/toolchain@v1
48+
id: toolchain
49+
uses: dtolnay/rust-toolchain@master
7150
with:
7251
toolchain: nightly
73-
override: true
7452
components: rust-src
7553
- name: Run tests with address sanitizer
76-
uses: actions-rs/cargo@v1
7754
env:
78-
ASAN_SYMBOLIZER_PATH: /usr/lib/llvm-12/bin/llvm-symbolizer
55+
ASAN_SYMBOLIZER_PATH: /usr/lib/llvm-14/bin/llvm-symbolizer
7956
RUSTFLAGS: -Zsanitizer=address
8057
RUSTDOCFLAGS: -Zsanitizer=address
81-
with:
82-
command: test
83-
args: --workspace --all-features --target x86_64-unknown-linux-gnu -Zbuild-std
58+
run: cargo +${{steps.toolchain.outputs.name}} test --workspace --all-features --target x86_64-unknown-linux-gnu -Zbuild-std
8459
wasm32-stable:
8560
name: wasm32 stable
8661
runs-on: ubuntu-latest
8762
steps:
88-
- uses: actions/checkout@v3
63+
- uses: actions/checkout@v4
8964
- name: Install stable toolchain
90-
uses: actions-rs/toolchain@v1
65+
id: toolchain
66+
uses: dtolnay/rust-toolchain@master
9167
with:
9268
toolchain: stable
9369
components: clippy
9470
target: wasm32-wasi
9571
- name: Build all targets
96-
uses: actions-rs/cargo@v1
97-
with:
98-
command: build
99-
args: --target wasm32-wasi --workspace --all-targets
72+
run: cargo +${{steps.toolchain.outputs.name}} build --target wasm32-wasi --workspace --all-targets
10073
- name: Run Clippy linter
101-
uses: actions-rs/cargo@v1
102-
with:
103-
command: clippy
104-
args: --target wasm32-wasi --workspace --all-targets -- -D warnings
74+
run: cargo +${{steps.toolchain.outputs.name}} clippy --target wasm32-wasi --workspace --all-targets -- -D warnings
10575
- name: Install cargo-wasi
106-
uses: actions-rs/cargo@v1
107-
with:
108-
command: install
109-
args: cargo-wasi
76+
run: cargo +${{steps.toolchain.outputs.name}} install cargo-wasi
11077
- name: Install wasmtime
11178
run: |
11279
curl https://wasmtime.dev/install.sh -sSf | bash
11380
echo "$HOME/.wasmtime/bin" >> $GITHUB_PATH
11481
- name: Run tests
115-
uses: actions-rs/cargo@v1
116-
with:
117-
command: wasi
118-
args: test --workspace
82+
run: cargo +${{steps.toolchain.outputs.name}} wasi test --workspace
11983
wasm32-nightly:
12084
name: wasm32 nightly
12185
runs-on: ubuntu-latest
12286
steps:
123-
- uses: actions/checkout@v3
87+
- uses: actions/checkout@v4
12488
- name: Install nightly toolchain
125-
uses: actions-rs/toolchain@v1
89+
id: toolchain
90+
uses: dtolnay/rust-toolchain@master
12691
with:
12792
toolchain: nightly
128-
override: true
12993
components: clippy
13094
target: wasm32-wasi
13195
- name: Build all targets
132-
uses: actions-rs/cargo@v1
133-
with:
134-
command: build
135-
args: --target wasm32-wasi --workspace --all-targets --all-features
96+
run: cargo +${{steps.toolchain.outputs.name}} build --target wasm32-wasi --workspace --all-targets --all-features
13697
- name: Run Clippy linter
137-
uses: actions-rs/cargo@v1
138-
with:
139-
command: clippy
140-
args: --target wasm32-wasi --workspace --all-targets --all-features -- -D warnings
98+
run: cargo +${{steps.toolchain.outputs.name}} clippy --target wasm32-wasi --workspace --all-targets --all-features -- -D warnings
14199
- name: Install cargo-wasi
142-
uses: actions-rs/cargo@v1
143-
with:
144-
command: install
145-
args: cargo-wasi
100+
run: cargo +${{steps.toolchain.outputs.name}} install cargo-wasi
146101
- name: Install wasmtime
147102
run: |
148103
curl https://wasmtime.dev/install.sh -sSf | bash
149104
echo "$HOME/.wasmtime/bin" >> $GITHUB_PATH
150105
- name: Run tests
151-
uses: actions-rs/cargo@v1
152-
with:
153-
command: wasi
154-
args: test --workspace --all-features
106+
run: cargo +${{steps.toolchain.outputs.name}} wasi test --workspace --all-features
155107
aarch64-nightly:
156108
name: aarch64 nightly
157109
runs-on: ubuntu-latest
158110
steps:
159-
- uses: actions/checkout@v3
111+
- uses: actions/checkout@v4
160112
- name: Install cross-compilation toolchain
161113
run: |
162114
sudo apt update
163115
sudo apt install gcc-aarch64-linux-gnu
164116
- name: Install nightly toolchain
165-
uses: actions-rs/toolchain@v1
117+
id: toolchain
118+
uses: dtolnay/rust-toolchain@master
166119
with:
167120
toolchain: nightly
168-
override: true
169121
components: clippy, rustfmt
170122
target: aarch64-unknown-linux-gnu
171123
- name: Build all targets
172-
uses: actions-rs/cargo@v1
173-
with:
174-
command: build
175-
args: --target aarch64-unknown-linux-gnu --workspace --all-targets --all-features
124+
run: cargo +${{steps.toolchain.outputs.name}} build --target aarch64-unknown-linux-gnu --workspace --all-targets --all-features
176125
env:
177126
RUSTFLAGS: -C linker=aarch64-linux-gnu-gcc
178127
- name: Run Clippy linter
179-
uses: actions-rs/cargo@v1
180-
with:
181-
command: clippy
182-
args: --target aarch64-unknown-linux-gnu --workspace --all-targets --all-features -- -D warnings
128+
run: cargo +${{steps.toolchain.outputs.name}} clippy --target aarch64-unknown-linux-gnu --workspace --all-targets --all-features -- -D warnings
183129
bench-stable:
184130
name: Benchmarks stable
185131
runs-on: ubuntu-latest
186132
env:
187133
CXX: clang++
188-
LLVM_CONFIG_PATH: /usr/lib/llvm-12/bin/llvm-config
134+
LLVM_CONFIG_PATH: /usr/lib/llvm-14/bin/llvm-config
189135
steps:
190-
- uses: actions/checkout@v3
136+
- uses: actions/checkout@v4
191137
with:
192138
submodules: true
193139
- name: Install stable toolchain
194-
uses: actions-rs/toolchain@v1
140+
id: toolchain
141+
uses: dtolnay/rust-toolchain@master
195142
with:
143+
toolchain: stable
196144
components: clippy, rustfmt
197145
- name: Run rustfmt
198-
uses: actions-rs/cargo@v1
199-
with:
200-
command: fmt
201-
args: --manifest-path bench/Cargo.toml --all -- --check
146+
run: cargo +${{steps.toolchain.outputs.name}} fmt --manifest-path bench/Cargo.toml --all -- --check
202147
- name: Build all targets
203-
uses: actions-rs/cargo@v1
204-
with:
205-
command: bench
206-
args: --manifest-path bench/Cargo.toml --workspace --no-run --all-targets
148+
run: cargo +${{steps.toolchain.outputs.name}} bench --manifest-path bench/Cargo.toml --workspace --no-run --all-targets
207149
- name: Run Clippy linter
208-
uses: actions-rs/cargo@v1
209-
with:
210-
command: clippy
211-
args: --manifest-path bench/Cargo.toml --workspace --all-targets -- -D warnings
150+
run: cargo +${{steps.toolchain.outputs.name}} clippy --manifest-path bench/Cargo.toml --workspace --all-targets -- -D warnings
212151
bench-nightly:
213152
name: Benchmarks nightly
214153
runs-on: ubuntu-latest
215154
env:
216155
CXX: clang++
217-
LLVM_CONFIG_PATH: /usr/lib/llvm-12/bin/llvm-config
156+
LLVM_CONFIG_PATH: /usr/lib/llvm-14/bin/llvm-config
218157
steps:
219-
- uses: actions/checkout@v3
158+
- uses: actions/checkout@v4
220159
with:
221160
submodules: true
222161
- name: Install nightly toolchain
223-
uses: actions-rs/toolchain@v1
162+
id: toolchain
163+
uses: dtolnay/rust-toolchain@master
224164
with:
225165
toolchain: nightly
226-
override: true
227166
components: clippy, rustfmt
228167
- name: Run rustfmt
229-
uses: actions-rs/cargo@v1
230-
with:
231-
command: fmt
232-
args: --manifest-path bench/Cargo.toml --all -- --check
168+
run: cargo +${{steps.toolchain.outputs.name}} fmt --manifest-path bench/Cargo.toml --all -- --check
233169
- name: Build all targets
234-
uses: actions-rs/cargo@v1
235-
with:
236-
command: bench
237-
args: --manifest-path bench/Cargo.toml --workspace --no-run --all-targets --all-features
170+
run: cargo +${{steps.toolchain.outputs.name}} bench --manifest-path bench/Cargo.toml --workspace --no-run --all-targets --all-features
238171
- name: Run Clippy linter
239-
uses: actions-rs/cargo@v1
240-
with:
241-
command: clippy
242-
args: --manifest-path bench/Cargo.toml --workspace --all-targets --all-features -- -D warnings
172+
run: cargo +${{steps.toolchain.outputs.name}} clippy --manifest-path bench/Cargo.toml --workspace --all-targets --all-features -- -D warnings

.github/workflows/publish.yml

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,15 @@ jobs:
77
name: Cargo
88
runs-on: ubuntu-latest
99
steps:
10-
- uses: actions/checkout@v3
10+
- uses: actions/checkout@v4
1111
- name: Install stable toolchain
12-
uses: actions-rs/toolchain@v1
12+
id: toolchain
13+
uses: dtolnay/rust-toolchain@stable
1314
- name: Check version number
1415
run: ./scripts/check-version.sh
1516
- name: Login to registry
16-
uses: actions-rs/cargo@v1
1717
env:
1818
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
19-
with:
20-
command: login
21-
args: "$CARGO_REGISTRY_TOKEN"
19+
run: cargo +${{steps.toolchain.outputs.name}} login "$CARGO_REGISTRY_TOKEN"
2220
- name: Publish crate
23-
uses: actions-rs/cargo@v1
24-
with:
25-
command: publish
21+
run: cargo +${{steps.toolchain.outputs.name}} publish

0 commit comments

Comments
 (0)