15
15
steps :
16
16
- id : checkout
17
17
name : Checkout Repository
18
- uses : actions/checkout@v3
18
+ uses : actions/checkout@v4
19
19
20
20
- id : setup
21
21
name : Setup Toolchain
@@ -39,71 +39,77 @@ jobs:
39
39
40
40
strategy :
41
41
matrix :
42
- toolchain : [stable, nightly ]
42
+ toolchain : [nightly, stable ]
43
43
44
44
steps :
45
45
- id : checkout
46
46
name : Checkout Repository
47
- uses : actions/checkout@v3
47
+ uses : actions/checkout@v4
48
48
49
49
- id : setup
50
50
name : Setup Toolchain
51
51
uses : dtolnay/rust-toolchain@stable
52
52
with :
53
- toolchain : nightly
53
+ toolchain : ${{ matrix.toolchain }}
54
54
components : clippy
55
55
56
56
- id : cache
57
57
name : Enable Workflow Cache
58
58
uses : Swatinem/rust-cache@v2
59
59
60
+ - id : tools
61
+ name : Install Tools
62
+ uses : taiki-e/install-action@v2
63
+ with :
64
+ tool : cargo-machete
65
+
60
66
- id : check
61
67
name : Run Build Checks
62
- run : cargo check --workspace --all-targets --all-features
68
+ run : cargo check --tests --benches --examples -- workspace --all-targets --all-features
63
69
64
70
- id : lint
65
71
name : Run Lint Checks
66
- run : cargo clippy --workspace --all-targets --all-features -- -D clippy::correctness -D clippy::suspicious
72
+ run : cargo clippy --tests --benches --examples -- workspace --all-targets --all-features -- -D clippy::correctness -D clippy::suspicious -D clippy::complexity -D clippy::perf -D clippy::style -D clippy::pedantic
67
73
68
- - id : doc
69
- name : Run Documentation Checks
70
- run : cargo test --doc
74
+ - id : docs
75
+ name : Lint Documentation
76
+ env :
77
+ RUSTDOCFLAGS : " -D warnings"
78
+ run : cargo doc --no-deps --bins --examples --workspace --all-features
79
+
80
+ - id : deps
81
+ name : Check Unused Dependencies
82
+ run : cargo machete
71
83
72
- internal :
73
- name : Units and Integrations
84
+
85
+ unit :
86
+ name : Units
74
87
runs-on : ubuntu-latest
75
88
needs : check
76
89
77
90
strategy :
78
91
matrix :
79
- toolchain : [stable, nightly ]
92
+ toolchain : [nightly, stable ]
80
93
81
94
steps :
82
95
- id : checkout
83
96
name : Checkout Repository
84
- uses : actions/checkout@v3
97
+ uses : actions/checkout@v4
85
98
86
99
- id : setup
87
100
name : Setup Toolchain
88
101
uses : dtolnay/rust-toolchain@stable
89
102
with :
90
103
toolchain : ${{ matrix.toolchain }}
91
- components : llvm-tools-preview
92
104
93
105
- id : cache
94
106
name : Enable Job Cache
95
107
uses : Swatinem/rust-cache@v2
96
108
97
- - id : test
98
- name : Run Code Tests
99
- run : cargo test --workspace --all-targets --all-features
100
-
101
- - id : tools
102
- name : Install Coverage Tools
103
- uses : taiki-e/install-action@v2
104
- with :
105
- tool : cargo-llvm-cov, cargo-nextest
109
+ - id : test-docs
110
+ name : Run Documentation Tests
111
+ run : cargo test --doc
106
112
107
- - id : coverage
108
- name : Generate Coverage Report
109
- run : cargo llvm-cov nextest --workspace --all-targets --all-features
113
+ - id : test
114
+ name : Run Unit Tests
115
+ run : cargo test --tests --benches --examples --workspace --all-targets --all-features
0 commit comments