@@ -18,6 +18,21 @@ permissions:
1818 contents : read
1919
2020jobs :
21+ # Depends on all actions that are required for a "successful" CI run.
22+ tests-pass :
23+ name : all checks successful
24+ runs-on : ubuntu-latest
25+ needs :
26+ - fmt
27+ - clippy
28+ - msrv
29+ - doc
30+ - test-all-features
31+ - test-default-features
32+ - test-no-std
33+ steps :
34+ - run : exit 0
35+
2136 clippy :
2237 name : Clippy
2338 runs-on : ubuntu-latest
@@ -29,12 +44,12 @@ jobs:
2944 with :
3045 toolchain : stable
3146 override : true
32- - uses : Swatinem/rust-cache@v2
3347 - name : Run cargo clippy
3448 uses : actions-rs/cargo@v1
3549 with :
3650 command : clippy
3751 args : --all-features
52+ - uses : Swatinem/rust-cache@v2
3853
3954 fmt :
4055 name : Rustfmt check
@@ -48,10 +63,16 @@ jobs:
4863 toolchain : nightly
4964 components : rustfmt
5065 - run : cargo +nightly fmt --check --all
66+ - uses : Swatinem/rust-cache@v2
5167
52- test :
53- name : Run tests
68+ test-all-features :
69+ name : Run tests for all features
5470 runs-on : ${{ matrix.os }}
71+ needs :
72+ - fmt
73+ - clippy
74+ - msrv
75+ - doc
5576 strategy :
5677 fail-fast : false
5778 matrix :
@@ -71,16 +92,21 @@ jobs:
7192 with :
7293 toolchain : ${{ matrix.rust }}
7394 override : true
74- - uses : Swatinem/rust-cache@v2
7595 - name : Run cargo test
7696 uses : actions-rs/cargo@v1
7797 with :
7898 command : test
7999 args : --all-features --no-fail-fast
100+ - uses : Swatinem/rust-cache@v2
80101
81- no-std :
82- name : Test no-std support
102+ test-default-features :
103+ name : Test with default features
83104 runs-on : ubuntu-latest
105+ needs :
106+ - fmt
107+ - clippy
108+ - msrv
109+ - doc
84110 steps :
85111 - name : Checkout sources
86112 uses : actions/checkout@v4
@@ -89,12 +115,34 @@ jobs:
89115 with :
90116 toolchain : stable
91117 override : true
118+ - name : Run cargo test
119+ uses : actions-rs/cargo@v1
120+ with :
121+ command : test
92122 - uses : Swatinem/rust-cache@v2
123+
124+ test-no-std :
125+ name : Test no-std support
126+ runs-on : ubuntu-latest
127+ needs :
128+ - fmt
129+ - clippy
130+ - msrv
131+ - doc
132+ steps :
133+ - name : Checkout sources
134+ uses : actions/checkout@v4
135+ - name : Install toolchain
136+ uses : actions-rs/toolchain@v1
137+ with :
138+ toolchain : stable
139+ override : true
93140 - name : Run cargo test
94141 uses : actions-rs/cargo@v1
95142 with :
96143 command : test
97144 args : --no-default-features --features "colored, float-cmp, num-bigint, rust-decimal, bigdecimal"
145+ - uses : Swatinem/rust-cache@v2
98146
99147 msrv :
100148 name : Build with MSRV
@@ -131,9 +179,9 @@ jobs:
131179 with :
132180 toolchain : nightly
133181 override : true
134- - uses : Swatinem/rust-cache@v2
135182 - name : Run cargo doc
136183 uses : actions-rs/cargo@v1
137184 with :
138185 command : doc
139186 args : --all-features --no-deps
187+ - uses : Swatinem/rust-cache@v2
0 commit comments