Skip to content

Commit e7ed666

Browse files
committed
parallelize CI, check on MSRV and test on stable
1 parent 0f34f06 commit e7ed666

File tree

1 file changed

+54
-26
lines changed

1 file changed

+54
-26
lines changed

.github/workflows/rust.yml

+54-26
Original file line numberDiff line numberDiff line change
@@ -9,39 +9,67 @@ on:
99
- master
1010

1111
jobs:
12-
test:
12+
check:
13+
name: Check
1314
runs-on: ubuntu-latest
1415
timeout-minutes: 5
1516
strategy:
1617
fail-fast: true
1718
matrix:
18-
rustup:
19-
- toolchain: stable
20-
components: "clippy, rustfmt"
21-
- toolchain: nightly
22-
components: ""
23-
- toolchain: 1.40.0
24-
components: ""
19+
rustc: [1.40.0, stable] # MSVR and current stable rustc
20+
steps:
21+
- uses: actions/checkout@v2
22+
- uses: actions-rs/toolchain@v1
23+
with:
24+
profile: minimal
25+
toolchain: ${{ matrix.rustc }}
26+
override: true
27+
- uses: actions-rs/cargo@v1
28+
with:
29+
command: check
30+
31+
test:
32+
name: Test Suite
33+
runs-on: ubuntu-latest
2534
steps:
2635
- uses: actions/checkout@v2
2736
- uses: actions-rs/toolchain@v1
28-
name: Install Rust
2937
with:
30-
toolchain: ${{ matrix.rustup.toolchain }}
3138
profile: minimal
32-
components: ${{ matrix.rustup.components }}
33-
default: true
34-
- name: Clippy
35-
run: cargo clippy
36-
if: contains(matrix.rustup.components, 'clippy')
37-
- name: Format
38-
run: cargo fmt -- --check
39-
if: contains(matrix.rustup.components, 'rustfmt')
40-
- name: Test
41-
run: cargo test
42-
- name: Test (No features)
43-
run: cargo test --no-default-features
44-
if: matrix.rustup.toolchain == 'nightly'
45-
- name: Benchmark
46-
run: cargo bench
47-
if: matrix.rustup.toolchain == 'nightly'
39+
toolchain: stable
40+
override: true
41+
- uses: actions-rs/cargo@v1
42+
with:
43+
command: test
44+
45+
fmt:
46+
name: Rustfmt
47+
runs-on: ubuntu-latest
48+
steps:
49+
- uses: actions/checkout@v2
50+
- uses: actions-rs/toolchain@v1
51+
with:
52+
profile: minimal
53+
toolchain: stable
54+
override: true
55+
components: rustfmt
56+
- uses: actions-rs/cargo@v1
57+
with:
58+
command: fmt
59+
args: --all -- --check
60+
61+
clippy:
62+
name: Clippy
63+
runs-on: ubuntu-latest
64+
steps:
65+
- uses: actions/checkout@v2
66+
- uses: actions-rs/toolchain@v1
67+
with:
68+
profile: minimal
69+
toolchain: stable
70+
override: true
71+
components: clippy
72+
- name: Run cargo clippy
73+
uses: actions-rs/clippy-check@v1
74+
with:
75+
args: --all-features

0 commit comments

Comments
 (0)