@@ -33,14 +33,19 @@ jobs:
3333 steps :
3434 - uses : actions/checkout@v4
3535 - name : Install Rust
36- uses : dtolnay/rust-toolchain@nightly
36+ uses : ./.github/actions/setup-rust
3737 with :
3838 components : clippy, rustfmt
39+ - name : Setup sccache
40+ uses : ./.github/actions/setup-sccache
41+ with :
42+ cmake-launcher : " true"
3943 - name : Rust Cache
4044 uses : Swatinem/rust-cache@v2
4145 continue-on-error : true
4246 with :
43- shared-key : rust-${{ runner.os }}-nightly
47+ shared-key : rust-${{ runner.os }}
48+ key : workspace-${{ hashFiles('Cargo.toml', 'Cargo.lock', 'rust-toolchain.toml', 'src/**', 'crates/**', 'xtask/**') }}
4449 cache-workspace-crates : true
4550 cache-on-failure : true
4651 - name : Format Check
@@ -57,18 +62,23 @@ jobs:
5762 steps :
5863 - uses : actions/checkout@v4
5964 - name : Install Rust
60- uses : dtolnay/rust-toolchain@nightly
65+ uses : ./.github/actions/setup-rust
6166 with :
6267 components : rustfmt
68+ - name : Setup sccache
69+ uses : ./.github/actions/setup-sccache
70+ with :
71+ cmake-launcher : " true"
6372 - name : Rust Cache
6473 uses : Swatinem/rust-cache@v2
6574 continue-on-error : true
6675 with :
67- shared-key : rust-${{ runner.os }}-nightly
76+ shared-key : rust-${{ runner.os }}
77+ key : workspace-${{ hashFiles('Cargo.toml', 'Cargo.lock', 'rust-toolchain.toml', 'src/**', 'crates/**', 'xtask/**') }}
6878 cache-workspace-crates : true
6979 cache-on-failure : true
7080 - name : Test
71- run : rustup run nightly cargo test --workspace
81+ run : cargo test --workspace
7282
7383 vscode-extension :
7484 name : VS Code Checks
@@ -112,14 +122,19 @@ jobs:
112122 steps :
113123 - uses : actions/checkout@v4
114124 - name : Install Rust
115- uses : dtolnay/rust-toolchain@nightly
125+ uses : ./.github/actions/setup-rust
116126 with :
117127 components : rustfmt
128+ - name : Setup sccache
129+ uses : ./.github/actions/setup-sccache
130+ with :
131+ cmake-launcher : " true"
118132 - name : Rust Cache
119133 uses : Swatinem/rust-cache@v2
120134 continue-on-error : true
121135 with :
122- shared-key : rust-${{ runner.os }}-nightly
136+ shared-key : rust-${{ runner.os }}
137+ key : package-${{ hashFiles('Cargo.toml', 'Cargo.lock', 'rust-toolchain.toml', 'src/**', 'crates/**', 'editors/vscode/scripts/**') }}
123138 cache-workspace-crates : true
124139 cache-on-failure : true
125140 - name : Setup Node
@@ -159,8 +174,10 @@ jobs:
159174 include :
160175 - target : alpine-x64
161176 image : ghcr.io/blackdex/rust-musl:x86_64-musl-nightly
177+ rust-target : x86_64-unknown-linux-musl
162178 - target : alpine-arm64
163179 image : ghcr.io/blackdex/rust-musl:aarch64-musl-nightly
180+ rust-target : aarch64-unknown-linux-musl
164181 defaults :
165182 run :
166183 working-directory : editors/vscode
@@ -171,17 +188,33 @@ jobs:
171188 apt-get update
172189 apt-get install -y --no-install-recommends ca-certificates cmake git python3
173190
174- - name : Install Rust components
175- working-directory : .
176- run : rustup component add --toolchain nightly-x86_64-unknown-linux-gnu rustfmt
177-
178191 - uses : actions/checkout@v4
179192
180193 - name : Trust checkout directories
181194 working-directory : .
182195 run : |
183196 git config --global --add safe.directory "$GITHUB_WORKSPACE"
184197
198+ - name : Install Rust
199+ uses : ./.github/actions/setup-rust
200+ with :
201+ components : rustfmt
202+ targets : ${{ matrix.rust-target }}
203+
204+ - name : Setup sccache
205+ uses : ./.github/actions/setup-sccache
206+ with :
207+ cmake-launcher : " true"
208+
209+ - name : Rust Cache
210+ uses : Swatinem/rust-cache@v2
211+ continue-on-error : true
212+ with :
213+ shared-key : rust-${{ runner.os }}-${{ matrix.target }}
214+ key : package-${{ hashFiles('Cargo.toml', 'Cargo.lock', 'rust-toolchain.toml', 'src/**', 'crates/**', 'editors/vscode/scripts/**') }}
215+ cache-workspace-crates : true
216+ cache-on-failure : true
217+
185218 - name : Setup Node
186219 uses : actions/setup-node@v4
187220 with :
0 commit comments