@@ -161,14 +161,19 @@ jobs:
161161 # step that runs AFTER the "Clean after build" cleanup wipes target/debug
162162 # and target/release, which is why the old cache was always ~empty. The
163163 # restore/save split lets us snapshot the populated target/ before cleanup.
164+ #
165+ # Key on matrix.os (runner image), not runner.os. runner.os is just
166+ # "Linux" for both ubuntu-22.04 and ubuntu-24.04, and restored
167+ # build-scripts / .so files from a newer glibc host fail with
168+ # GLIBC_2.39 not found on the older image.
164169 - name : Restore cargo target
165170 id : cache-cargo-target
166171 uses : actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
167172 with :
168173 path : client-sdk-rust/target/
169- key : ${{ runner .os }}-${{ matrix.name }}-cargo-target-${{ steps.rust_sha.outputs.sha }}
174+ key : ${{ matrix .os }}-${{ matrix.name }}-cargo-target-${{ steps.rust_sha.outputs.sha }}
170175 restore-keys : |
171- ${{ runner .os }}-${{ matrix.name }}-cargo-target-
176+ ${{ matrix .os }}-${{ matrix.name }}-cargo-target-
172177
173178 # restore-keys can hydrate target/ from a prior submodule SHA. cxxbridge
174179 # artifacts in webrtc-sys are not compatible across those bumps.
@@ -208,7 +213,7 @@ jobs:
208213 uses : actions/cache/save@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
209214 with :
210215 path : client-sdk-rust/target/
211- key : ${{ runner .os }}-${{ matrix.name }}-cargo-target-${{ steps.rust_sha.outputs.sha }}
216+ key : ${{ matrix .os }}-${{ matrix.name }}-cargo-target-${{ steps.rust_sha.outputs.sha }}
212217
213218 - name : Save vcpkg binary cache
214219 if : runner.os == 'Windows' && steps.cache-vcpkg-binary.outputs.cache-hit != 'true'
0 commit comments