@@ -12,8 +12,38 @@ permissions:
1212 contents : read
1313
1414jobs :
15- checks :
16- name : Checks (${{ matrix.features.name }})
15+ test :
16+ name : Test (${{ matrix.features.name }})
17+
18+ runs-on : ubuntu-latest
19+
20+ strategy :
21+ matrix :
22+ features :
23+ - name : No Default Features
24+ flag :
25+ - name : Default Features
26+ flag : --features default
27+ - name : All Features
28+ flag : --all-features
29+
30+ steps :
31+ - name : Checkout repository
32+ uses : actions/checkout@v4
33+
34+ - name : Install Rust
35+ uses : dtolnay/rust-toolchain@stable
36+
37+ - name : Cache dependencies
38+ uses : Swatinem/rust-cache@v2
39+
40+ - name : Run tests
41+ run : cargo test --tests --no-default-features ${{ matrix.features.flag }}
42+
43+ miri :
44+ name : Miri (${{ matrix.features.name }})
45+
46+ runs-on : ubuntu-latest
1747
1848 strategy :
1949 matrix :
2555 - name : All Features
2656 flag : --all-features
2757
28- uses : ./.github/workflows/checks.yaml
29- with :
30- features-flag : ${{ matrix.features.flag }}
58+ steps :
59+ - name : Checkout repository
60+ uses : actions/checkout@v4
61+
62+ - name : Install Rust
63+ uses : dtolnay/rust-toolchain@nightly
64+ with :
65+ components : miri
66+
67+ - name : Cache dependencies
68+ uses : Swatinem/rust-cache@v2
69+
70+ - name : Setup Miri
71+ run : cargo miri setup
72+
73+ - name : Run Miri
74+ run : cargo miri test --no-default-features ${{ matrix.features.flag }}
75+
76+ clippy :
77+ name : Clippy (${{ matrix.features.name }})
78+
79+ runs-on : ubuntu-latest
80+
81+ strategy :
82+ matrix :
83+ features :
84+ - name : No Default Features
85+ flag :
86+ - name : Default Features
87+ flag : --features default
88+ - name : All Features
89+ flag : --all-features
90+
91+ steps :
92+ - name : Checkout repository
93+ uses : actions/checkout@v4
94+
95+ - name : Install Rust
96+ uses : dtolnay/rust-toolchain@stable
97+ with :
98+ components : clippy
99+
100+ - name : Cache dependencies
101+ uses : Swatinem/rust-cache@v2
102+
103+ - name : Run Clippy
104+ run : cargo clippy --no-default-features ${{ matrix.features.flag }}
31105
32106 test-docs :
33107 name : Test Documentation
0 commit comments