File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 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+
12+ jobs :
13+ test :
14+ name : Test
15+ runs-on : ${{ matrix.os }}
16+ strategy :
17+ fail-fast : false
18+ matrix :
19+ os : [ubuntu-latest, macos-latest, windows-latest]
20+ rust : [stable, beta, nightly]
21+ steps :
22+ - uses : actions/checkout@v4
23+
24+ - name : Install Rust
25+ uses : dtolnay/rust-toolchain@master
26+ with :
27+ toolchain : ${{ matrix.rust }}
28+
29+ - name : Cache cargo registry
30+ uses : actions/cache@v4
31+ with :
32+ path : ~/.cargo/registry
33+ key : ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
34+
35+ - name : Cache cargo index
36+ uses : actions/cache@v4
37+ with :
38+ path : ~/.cargo/git
39+ key : ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.lock') }}
40+
41+ - name : Cache cargo build
42+ uses : actions/cache@v4
43+ with :
44+ path : target
45+ key : ${{ runner.os }}-cargo-build-target-${{ hashFiles('**/Cargo.lock') }}
46+
47+ - name : Build
48+ run : cargo build --verbose --all-features
49+
50+ - name : Run tests
51+ run : cargo test --verbose --all-features
Original file line number Diff line number Diff line change 1+ name : Lint
2+
3+ on :
4+ push :
5+ branches : [ main ]
6+ pull_request :
7+ branches : [ main ]
8+
9+ env :
10+ CARGO_TERM_COLOR : always
11+
12+ jobs :
13+ clippy :
14+ name : Clippy
15+ runs-on : ubuntu-latest
16+ steps :
17+ - uses : actions/checkout@v4
18+
19+ - name : Install Rust
20+ uses : dtolnay/rust-toolchain@stable
21+ with :
22+ components : clippy
23+
24+ - name : Cache cargo registry
25+ uses : actions/cache@v4
26+ with :
27+ path : ~/.cargo/registry
28+ key : ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
29+
30+ - name : Cache cargo index
31+ uses : actions/cache@v4
32+ with :
33+ path : ~/.cargo/git
34+ key : ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.lock') }}
35+
36+ - name : Cache cargo build
37+ uses : actions/cache@v4
38+ with :
39+ path : target
40+ key : ${{ runner.os }}-cargo-build-target-${{ hashFiles('**/Cargo.lock') }}
41+
42+ - name : Run clippy
43+ run : cargo clippy --all-targets --all-features -- -D warnings
44+
45+ fmt :
46+ name : Format
47+ runs-on : ubuntu-latest
48+ steps :
49+ - uses : actions/checkout@v4
50+
51+ - name : Install Rust
52+ uses : dtolnay/rust-toolchain@stable
53+ with :
54+ components : rustfmt
55+
56+ - name : Check formatting
57+ run : cargo fmt --all -- --check
Original file line number Diff line number Diff line change 1+ name : Security Audit
2+
3+ on :
4+ push :
5+ branches : [ main ]
6+ paths :
7+ - ' **/Cargo.toml'
8+ - ' **/Cargo.lock'
9+ pull_request :
10+ branches : [ main ]
11+ paths :
12+ - ' **/Cargo.toml'
13+ - ' **/Cargo.lock'
14+ schedule :
15+ # Run weekly on Mondays at 00:00 UTC
16+ - cron : ' 0 0 * * 1'
17+
18+ jobs :
19+ audit :
20+ name : Cargo Audit
21+ runs-on : ubuntu-latest
22+ steps :
23+ - uses : actions/checkout@v4
24+
25+ - name : Install Rust
26+ uses : dtolnay/rust-toolchain@stable
27+
28+ - name : Install cargo-audit
29+ run : cargo install cargo-audit
30+
31+ - name : Run cargo audit
32+ run : cargo audit
You can’t perform that action at this time.
0 commit comments