1+ name : CI
2+
3+ on :
4+ push :
5+ branches : [main]
6+ pull_request :
7+ branches : [main]
8+
9+ env :
10+ CARGO_TERM_COLOR : always
11+ RUSTFLAGS : " -C debuginfo=0"
12+ RUSTC_WRAPPER : sccache
13+
14+ jobs :
15+ fmt :
16+ name : Format
17+ runs-on : ubuntu-latest
18+ steps :
19+ - uses : actions/checkout@v4
20+ - uses : actions-rust-lang/setup-rust-toolchain@v1
21+ with :
22+ toolchain : stable
23+ components : rustfmt
24+ cache : false
25+ - run : cargo fmt --all -- --check
26+
27+ check :
28+ name : Check
29+ runs-on : ubuntu-latest
30+ steps :
31+ - uses : actions/checkout@v4
32+ -
uses :
mozilla-actions/[email protected] 33+ - uses : actions-rust-lang/setup-rust-toolchain@v1
34+ with :
35+ toolchain : stable
36+ cache : false
37+ - name : Cache Cargo registry
38+ uses : actions/cache@v4
39+ with :
40+ path : |
41+ ~/.cargo/registry/index/
42+ ~/.cargo/registry/cache/
43+ ~/.cargo/git/db/
44+ key : ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
45+ restore-keys : |
46+ ${{ runner.os }}-cargo-registry-
47+ - run : cargo check --all-targets
48+
49+ clippy :
50+ name : Clippy
51+ runs-on : ubuntu-latest
52+ steps :
53+ - uses : actions/checkout@v4
54+ -
uses :
mozilla-actions/[email protected] 55+ - uses : actions-rust-lang/setup-rust-toolchain@v1
56+ with :
57+ toolchain : stable
58+ components : clippy
59+ cache : false
60+ - name : Cache Cargo registry
61+ uses : actions/cache@v4
62+ with :
63+ path : |
64+ ~/.cargo/registry/index/
65+ ~/.cargo/registry/cache/
66+ ~/.cargo/git/db/
67+ key : ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
68+ restore-keys : |
69+ ${{ runner.os }}-cargo-registry-
70+ - run : cargo clippy --all-targets --no-deps -- -D warnings
71+
72+ test :
73+ name : Test
74+ runs-on : ubuntu-latest
75+ steps :
76+ - uses : actions/checkout@v4
77+ -
uses :
mozilla-actions/[email protected] 78+ - uses : actions-rust-lang/setup-rust-toolchain@v1
79+ with :
80+ toolchain : stable
81+ cache : false
82+ - name : Cache Cargo registry
83+ uses : actions/cache@v4
84+ with :
85+ path : |
86+ ~/.cargo/registry/index/
87+ ~/.cargo/registry/cache/
88+ ~/.cargo/git/db/
89+ key : ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
90+ restore-keys : |
91+ ${{ runner.os }}-cargo-registry-
92+ - name : Cache target dir
93+ uses : actions/cache@v4
94+ with :
95+ path : target/
96+ key : ${{ runner.os }}-cargo-target-${{ hashFiles('**/Cargo.lock') }}-${{ hashFiles('**/*.rs') }}
97+ restore-keys : |
98+ ${{ runner.os }}-cargo-target-${{ hashFiles('**/Cargo.lock') }}-
99+ ${{ runner.os }}-cargo-target-
100+ - run : cargo test
0 commit comments