1010 CARGO_TERM_COLOR : always
1111 RUST_BACKTRACE : 1
1212
13+ permissions :
14+ contents : read
15+
1316jobs :
17+ advisories :
18+ name : Dependency Advisories
19+ runs-on : ubuntu-latest
20+ steps :
21+ - uses : actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
22+ - uses : EmbarkStudios/cargo-deny-action@bb137d7af7e4fb67e5f82a49c4fce4fad40782fe # v2
23+ with :
24+ command : check advisories
25+
1426 fmt :
1527 name : Format Check
1628 runs-on : ubuntu-latest
1729 steps :
18- - uses : actions/checkout@v6
19- - uses : dtolnay/rust-toolchain@stable
30+ - uses : actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
31+ - uses : dtolnay/rust-toolchain@4be7066ada62dd38de10e7b70166bc74ed198c30 # stable
2032 with :
2133 components : rustfmt
2234 - name : Check formatting
@@ -26,11 +38,11 @@ jobs:
2638 name : Clippy
2739 runs-on : ubuntu-latest
2840 steps :
29- - uses : actions/checkout@v6
30- - uses : dtolnay/rust-toolchain@stable
41+ - uses : actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
42+ - uses : dtolnay/rust-toolchain@4be7066ada62dd38de10e7b70166bc74ed198c30 # stable
3143 with :
3244 components : clippy
33- - uses : Swatinem/rust-cache@v2
45+ - uses : Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
3446 - name : Run Clippy
3547 run : cargo clippy --workspace --all-targets -- -D warnings
3648
4254 matrix :
4355 os : [ ubuntu-latest, macos-latest, windows-latest ]
4456 steps :
45- - uses : actions/checkout@v6
46- - uses : dtolnay/rust-toolchain@stable
47- - uses : Swatinem/rust-cache@v2
57+ - uses : actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
58+ - uses : dtolnay/rust-toolchain@4be7066ada62dd38de10e7b70166bc74ed198c30 # stable
59+ - uses : Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
4860 - name : Run tests
4961 # Don't use --all-features as integration/golden require external services
5062 # See integration.yml for those tests
@@ -58,19 +70,19 @@ jobs:
5870 matrix :
5971 os : [ ubuntu-latest, macos-latest, windows-latest ]
6072 steps :
61- - uses : actions/checkout@v6
62- - uses : dtolnay/rust-toolchain@stable
63- - uses : Swatinem/rust-cache@v2
73+ - uses : actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
74+ - uses : dtolnay/rust-toolchain@4be7066ada62dd38de10e7b70166bc74ed198c30 # stable
75+ - uses : Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
6476 - name : Build
6577 run : cargo build --workspace --release
6678
6779 doc :
6880 name : Documentation
6981 runs-on : ubuntu-latest
7082 steps :
71- - uses : actions/checkout@v6
72- - uses : dtolnay/rust-toolchain@stable
73- - uses : Swatinem/rust-cache@v2
83+ - uses : actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
84+ - uses : dtolnay/rust-toolchain@4be7066ada62dd38de10e7b70166bc74ed198c30 # stable
85+ - uses : Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
7486 - name : Build documentation
7587 run : cargo doc --workspace --no-deps
7688 env :
@@ -82,10 +94,12 @@ jobs:
8294 runs-on : ubuntu-latest
8395 if : github.event_name == 'pull_request'
8496 steps :
85- - uses : actions/checkout@v6
97+ - uses : actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
8698 with :
8799 fetch-depth : 0
88100 - name : Check protected files
101+ env :
102+ PR_BODY : ${{ github.event.pull_request.body }}
89103 run : |
90104 PROTECTED_FILES=(
91105 "docs/reference/rc/"
@@ -103,7 +117,7 @@ jobs:
103117 echo "This change requires the Breaking Change process. See AGENTS.md."
104118
105119 # Check if PR body contains BREAKING marker
106- if ! echo "${{ github.event.pull_request.body }}" | grep -q "BREAKING"; then
120+ if ! grep -q "BREAKING" <<< "$PR_BODY "; then
107121 echo "::error::Protected file $file modified without BREAKING marker in PR description"
108122 exit 1
109123 fi
@@ -115,10 +129,10 @@ jobs:
115129 name : Minimum Supported Rust Version
116130 runs-on : ubuntu-latest
117131 steps :
118- - uses : actions/checkout@v6
119- - uses : dtolnay/rust-toolchain@master
132+ - uses : actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
133+ - uses : dtolnay/rust-toolchain@fa04a1451ff1842e2626ccb99004d0195b455a88 # master
120134 with :
121135 toolchain : " 1.92"
122- - uses : Swatinem/rust-cache@v2
136+ - uses : Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
123137 - name : Build with MSRV
124138 run : cargo build --workspace
0 commit comments