88
99jobs :
1010 check :
11- name : 🧪 Cargo Check
11+ name : Check
1212 runs-on : ubuntu-latest
1313 steps :
14- - uses : actions/checkout@v4
14+ - name : Checkout sources
15+ uses : actions/checkout@v2
1516
16- - name : Install system dependencies
17- run : sudo apt-get update && sudo apt-get install -y pkg-config libfontconfig1-dev
17+ - name : Install fontconfig and pkg-config
18+ run : sudo apt-get update && sudo apt-get install -y libfontconfig1-dev pkg-config
1819
19- - uses : actions-rs/toolchain@v1
20+ - name : Install stable toolchain
21+ uses : actions-rs/toolchain@v1
2022 with :
2123 profile : minimal
2224 toolchain : stable
2325 override : true
2426
25- - uses : Swatinem/rust-cache@v2
26-
2727 - name : Run cargo check
2828 uses : actions-rs/cargo@v1
2929 with :
@@ -49,17 +49,17 @@ jobs:
4949 os : ubuntu-latest
5050 rust : stable
5151 steps :
52- - uses : actions/checkout@v4
53-
54- - name : Install system dependencies (Linux only)
55- if : runner.os == 'Linux'
56- run : sudo apt-get update && sudo apt-get install -y pkg-config libfontconfig1-dev
52+ - uses : actions/checkout@v2
5753
5854 - uses : actions-rs/toolchain@v1
5955 with :
6056 toolchain : ${{ matrix.rust }}
6157 override : true
6258
59+ - name : Install fontconfig on Ubuntu
60+ if : matrix.os == 'ubuntu-latest'
61+ run : sudo apt-get update && sudo apt-get install -y libfontconfig1-dev pkg-config
62+
6363 - name : Run tests
6464 uses : actions-rs/cargo@v1
6565 with :
@@ -71,96 +71,76 @@ jobs:
7171 steps :
7272 - uses : actions/checkout@v2
7373
74- - name : Install system dependencies
75- run : sudo apt-get update && sudo apt-get install -y pkg-config libfontconfig1-dev
76-
77- - name : Install Rust stable and llvm-tools
78- uses : actions-rs/toolchain@v1
74+ - uses : actions-rs/toolchain@v1
7975 with :
80- toolchain : stable
76+ toolchain : nightly
8177 override : true
82- components : llvm-tools-preview
8378
84- - name : Install cargo-llvm-cov
85- uses : taiki-e/install-action@v2
79+ - name : Install fontconfig and pkg-config
80+ run : sudo apt-get update && sudo apt-get install -y libfontconfig1-dev pkg-config
81+
82+ - name : Install cargo-tarpaulin
83+ uses :
actions-rs/[email protected] 8684 with :
87- tool : cargo-llvm-cov
85+ crate : cargo-tarpaulin
86+ version : latest
87+ use-tool-cache : true
8888
89- - name : Run cargo-llvm-cov
90- run : |
91- cargo llvm-cov --all-features --workspace --lcov --output-path lcov.info
89+ - name : Run cargo-tarpaulin
90+ run : cargo tarpaulin --all-features --timeout 600 --out Xml -- --test-threads 1
9291
93- - name : Upload coverage to Codecov
94- uses : codecov/codecov-action@v3
92+ - name : Upload coverage to codecov
93+ uses : codecov/codecov-action@v5
94+ env :
95+ CODECOV_TOKEN : ${{ secrets.CODECOV_TOKEN }}
9596 with :
96- files : ./lcov.info
97+ verbose : true
98+ fail_ci_if_error : true
9799
98100 lints :
99- name : 🧹 Lints and Format
101+ name : Lints
100102 runs-on : ubuntu-latest
101103 steps :
102- - uses : actions/checkout@v4
104+ - name : Checkout sources
105+ uses : actions/checkout@v2
103106
104- - name : Install system dependencies
105- run : sudo apt-get update && sudo apt-get install -y pkg-config libfontconfig1-dev
107+ - name : Install fontconfig and pkg-config
108+ run : sudo apt-get update && sudo apt-get install -y libfontconfig1-dev pkg-config
106109
107- - uses : actions-rs/toolchain@v1
110+ - name : Install stable toolchain
111+ uses : actions-rs/toolchain@v1
108112 with :
109113 profile : minimal
110114 toolchain : stable
111115 override : true
112116 components : rustfmt, clippy
113117
114- - uses : Swatinem/rust-cache@v2
115-
116- - name : Check formatting
118+ - name : Run cargo fmt
117119 uses : actions-rs/cargo@v1
118120 with :
119121 command : fmt
120122 args : --all -- --check
121123
122- - name : Run Clippy
124+ - name : Run cargo clippy
123125 uses : actions-rs/cargo@v1
124126 with :
125127 command : clippy
126128 args : -- -D warnings
127129
128- docs :
129- name : 📚 Docs Build
130+ minimum_rust_version :
130131 runs-on : ubuntu-latest
131132 steps :
132- - uses : actions/checkout@v4
133-
134- - name : Install system dependencies
135- run : sudo apt-get update && sudo apt-get install -y pkg-config libfontconfig1-dev
136-
137- - uses : actions-rs/toolchain@v1
138- with :
139- toolchain : stable
140- override : true
141-
142- - uses : Swatinem/rust-cache@v2
143-
144- - name : Build docs
145- run : cargo doc --no-deps --document-private-items
146-
147- msrv :
148- name : 🏛️ Minimum Rust Version Check
149- runs-on : ubuntu-latest
150- steps :
151- - uses : actions/checkout@v4
133+ - uses : actions/checkout@v2
152134
153- - name : Install system dependencies
154- run : sudo apt-get update && sudo apt-get install -y pkg-config libfontconfig1-dev
135+ - name : Install fontconfig and pkg-config
136+ run : sudo apt-get update && sudo apt-get install -y libfontconfig1-dev pkg-config
155137
156138 - uses : actions-rs/toolchain@v1
157139 with :
158140 toolchain : 1.82.0
159141 override : true
160142
161- - uses : Swatinem/rust-cache@v2
162-
163- - name : Run cargo test on MSRV
143+ - name : Run tests
164144 uses : actions-rs/cargo@v1
165145 with :
166146 command : test
0 commit comments