1+ # SPDX-License-Identifier: AGPL-3.0-or-later
12name : Rust CI
23on : [push, pull_request]
4+
5+ permissions : read-all
6+
37env :
48 CARGO_TERM_COLOR : always
59 RUSTFLAGS : -Dwarnings
610
711jobs :
812 test :
913 runs-on : ubuntu-latest
14+ permissions :
15+ contents : read
1016 steps :
11- - uses : actions/checkout@v4
12- - uses : dtolnay/rust-toolchain@stable
17+ - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
18+ - uses : dtolnay/rust-toolchain@f7ccc83f9ed1e5b9c81d8a67d7ad1a747e22a561 # master
1319 with :
20+ toolchain : stable
1421 components : rustfmt, clippy
15- - uses : Swatinem/rust-cache@v2
16-
22+ - uses : Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2.8.2
23+
1724 - name : Check formatting
1825 run : cargo fmt --all -- --check
19-
26+
2027 - name : Clippy lints
2128 run : cargo clippy --all-targets --all-features -- -D warnings
22-
29+
2330 - name : Run tests
2431 run : cargo test --all-features
25-
32+
2633 - name : Build release
2734 run : cargo build --release
2835
2936 security :
3037 runs-on : ubuntu-latest
38+ permissions :
39+ contents : read
3140 steps :
32- - uses : actions/checkout@v4
33- - uses : dtolnay/rust-toolchain@stable
41+ - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
42+ - uses : dtolnay/rust-toolchain@f7ccc83f9ed1e5b9c81d8a67d7ad1a747e22a561 # master
43+ with :
44+ toolchain : stable
3445 - name : Install cargo-audit
3546 run : cargo install cargo-audit
3647 - name : Security audit
@@ -40,13 +51,17 @@ jobs:
4051
4152 coverage :
4253 runs-on : ubuntu-latest
54+ permissions :
55+ contents : read
4356 steps :
44- - uses : actions/checkout@v4
45- - uses : dtolnay/rust-toolchain@stable
57+ - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
58+ - uses : dtolnay/rust-toolchain@f7ccc83f9ed1e5b9c81d8a67d7ad1a747e22a561 # master
59+ with :
60+ toolchain : stable
4661 - name : Install tarpaulin
4762 run : cargo install cargo-tarpaulin
4863 - name : Generate coverage
4964 run : cargo tarpaulin --out Xml
50- - uses : codecov/codecov-action@v3
65+ - uses : codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
5166 with :
5267 files : cobertura.xml
0 commit comments