This is an automated email from the ASF dual-hosted git repository.

mgrigorov pushed a commit to branch avro-3870-better-cache-keys
in repository https://gitbox.apache.org/repos/asf/avro.git

commit 16824481e7f34771ec2c11b02cb8eb2f51395fc2
Author: Martin Tzvetanov Grigorov <[email protected]>
AuthorDate: Tue Oct 3 15:28:12 2023 +0300

    AVRO-3870: [Rust] Use matrix.target, matrix.avro and hash of Cargo.lock for 
cache keys
    
    Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>
---
 .github/workflows/test-lang-rust-ci.yml | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/.github/workflows/test-lang-rust-ci.yml 
b/.github/workflows/test-lang-rust-ci.yml
index 5993cd590..b3b9a40cb 100644
--- a/.github/workflows/test-lang-rust-ci.yml
+++ b/.github/workflows/test-lang-rust-ci.yml
@@ -31,6 +31,7 @@ permissions:
 
 env:
   RUSTFLAGS: -Dwarnings
+  CARGO_REGISTRIES_CRATES_IO_PROTOCOL: 'git' # TODO: remove this env var once 
MSRV is 1.70.0+
 
 defaults:
   run:
@@ -64,14 +65,15 @@ jobs:
           # these represent dependencies downloaded by cargo
           # and thus do not depend on the OS, arch nor rust version.
           path: ~/.cargo
-          key: cargo-cache1-
+          key: ${{ runner.os }}-cargo-cache1-${{ matrix.target }}-${{ 
matrix.rust }}-${{ hashFiles('**/Cargo.lock') }}
+
       - name: Cache Rust dependencies
         uses: actions/cache@v3
         with:
           # these represent compiled steps of both dependencies and avro
           # and thus are specific for a particular OS, arch and rust version.
-          path: ~/target
-          key: ${{ runner.os }}-target-cache1-${{ matrix.rust }}-
+          path: lang/rust/target
+          key: ${{ runner.os }}-target-cache1-${{ matrix.target }}-${{ 
matrix.rust }}-${{ hashFiles('**/Cargo.lock') }}
 
       - name: Rust Toolchain
         uses: dtolnay/rust-toolchain@nightly
@@ -135,12 +137,13 @@ jobs:
           # and thus do not depend on the OS, arch nor rust version.
           path: ~/.cargo
           key: cargo-cache1-
+
       - name: Cache Rust dependencies
         uses: actions/cache@v3
         with:
           # these represent compiled steps of both dependencies and avro
           # and thus are specific for a particular OS, arch and rust version.
-          path: ~/target
+          path: lang/rust/target
           key: ${{ runner.os }}-target-cache1-stable-
 
       - name: Cache Local Maven Repository
@@ -219,15 +222,15 @@ jobs:
           # these represent dependencies downloaded by cargo
           # and thus do not depend on the OS, arch nor rust version.
           path: ~/.cargo
-          key: cargo-cache1-
+          key: ${{ runner.os }}-cargo-cache1-web-assembly-${{ 
hashFiles('**/Cargo.lock') }}
 
       - name: Cache Rust dependencies
         uses: actions/cache@v3
         with:
           # these represent compiled steps of both dependencies and avro
           # and thus are specific for a particular OS, arch and rust version.
-          path: ~/target
-          key: ${{ runner.os }}-target-cache1-stable-
+          path: lang/rust/target
+          key: ${{ runner.os }}-target-cache1-stable-web-assembly-${{ 
hashFiles('**/Cargo.lock') }}
 
       - name: Install wasm-pack
         run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf 
| sh

Reply via email to