99
1010env :
1111 CARGO_TERM_COLOR : always
12+ CARGO_INCREMENTAL : 0
1213 RUST_BACKTRACE : 1
1314 REGISTRY : ghcr.io
1415 IMAGE_NAME : ${{ github.repository }}
@@ -18,32 +19,43 @@ jobs:
1819 name : Build
1920 runs-on : ubuntu-latest
2021 steps :
22+ - name : Free disk space
23+ run : |
24+ sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc /opt/hostedtoolcache/CodeQL
25+ sudo docker image prune --all --force
26+ df -h
27+
2128 - name : Checkout code
2229 uses : actions/checkout@v4
2330
2431 - name : Setup Rust toolchain
2532 uses : dtolnay/rust-toolchain@stable
2633
2734 - name : Cache cargo
28- uses : actions/ cache@v4
35+ uses : Swatinem/rust- cache@v2
2936 with :
30- path : |
31- ~/.cargo/registry
32- ~/.cargo/git
33- target
34- key : ${{ runner.os }}-cargo-build-${{ hashFiles('**/Cargo.lock') }}
35- restore-keys : |
36- ${{ runner.os }}-cargo-build-
37+ cache-on-failure : true
3738
3839 - name : Build
39- run : cargo build --release --verbose
40+ run : cargo build --release
41+
42+ - name : Cleanup before cache
43+ run : |
44+ rm -rf target/release/.fingerprint target/release/build target/release/deps target/release/examples target/release/incremental
45+ find target -name "*.d" -delete
46+ df -h
4047
4148 test :
4249 name : Test
4350 runs-on : ubuntu-latest
4451 permissions :
4552 contents : write
4653 steps :
54+ - name : Free disk space
55+ run : |
56+ sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc /opt/hostedtoolcache/CodeQL
57+ sudo docker image prune --all --force
58+
4759 - name : Checkout code
4860 uses : actions/checkout@v4
4961
@@ -56,15 +68,10 @@ jobs:
5668 uses : taiki-e/install-action@cargo-llvm-cov
5769
5870 - name : Cache cargo
59- uses : actions/ cache@v4
71+ uses : Swatinem/rust- cache@v2
6072 with :
61- path : |
62- ~/.cargo/registry
63- ~/.cargo/git
64- target
65- key : ${{ runner.os }}-cargo-test-${{ hashFiles('**/Cargo.lock') }}
66- restore-keys : |
67- ${{ runner.os }}-cargo-test-
73+ cache-on-failure : true
74+ save-if : false
6875
6976 - name : Run tests with coverage
7077 run : cargo llvm-cov --workspace --json --output-path coverage.json
@@ -94,6 +101,11 @@ jobs:
94101 name : Clippy
95102 runs-on : ubuntu-latest
96103 steps :
104+ - name : Free disk space
105+ run : |
106+ sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc /opt/hostedtoolcache/CodeQL
107+ sudo docker image prune --all --force
108+
97109 - name : Checkout code
98110 uses : actions/checkout@v4
99111
@@ -103,15 +115,10 @@ jobs:
103115 components : clippy
104116
105117 - name : Cache cargo
106- uses : actions/ cache@v4
118+ uses : Swatinem/rust- cache@v2
107119 with :
108- path : |
109- ~/.cargo/registry
110- ~/.cargo/git
111- target
112- key : ${{ runner.os }}-cargo-clippy-${{ hashFiles('**/Cargo.lock') }}
113- restore-keys : |
114- ${{ runner.os }}-cargo-clippy-
120+ cache-on-failure : true
121+ save-if : false
115122
116123 - name : Run clippy
117124 run : cargo clippy --all-targets --workspace -- -W clippy::all
@@ -124,12 +131,14 @@ jobs:
124131 contents : read
125132 packages : write
126133 steps :
134+ - name : Free disk space
135+ run : |
136+ sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc /opt/hostedtoolcache/CodeQL
137+ sudo docker image prune --all --force
138+
127139 - name : Checkout code
128140 uses : actions/checkout@v4
129141
130- - name : Set up QEMU
131- uses : docker/setup-qemu-action@v3
132-
133142 - name : Set up Docker Buildx
134143 uses : docker/setup-buildx-action@v3
135144
@@ -173,12 +182,22 @@ jobs:
173182 permissions :
174183 contents : write
175184 steps :
185+ - name : Free disk space
186+ run : |
187+ sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc /opt/hostedtoolcache/CodeQL
188+ sudo docker image prune --all --force
189+
176190 - name : Checkout code
177191 uses : actions/checkout@v4
178192
179193 - name : Setup Rust toolchain
180194 uses : dtolnay/rust-toolchain@stable
181195
196+ - name : Cache cargo
197+ uses : Swatinem/rust-cache@v2
198+ with :
199+ save-if : false
200+
182201 - name : Build release binaries
183202 run : cargo build --release
184203
0 commit comments