From 32d5945f5a71100c696e879b7048f9a0b0c34926 Mon Sep 17 00:00:00 2001 From: Tim Jentzsch Date: Fri, 9 Aug 2024 10:29:50 +0200 Subject: [PATCH 1/2] Add rustc version to cache key --- action.yml | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/action.yml b/action.yml index 3206b78..bf957b1 100644 --- a/action.yml +++ b/action.yml @@ -71,21 +71,23 @@ runs: fi # The dependencies are recompiled if a new Rust version is used - # This steps determines the Cargo version to include it in the cache key + # This steps determines the rustc and cargo version to include it in the cache key - name: Get cargo version - id: cargo-version + id: rust-version shell: bash run: | # Print version once for debugging cargo --version + rustc --version # Extract the commit hash and date of the cargo version # E.g. "cargo 1.72.0-nightly (0c14026aa 2023-06-14)" becomes "(0c14026aa 2023-06-14)" - version=$(cargo --version | grep -oE "\(([a-z0-9]+) [0-9-]+\)") + cargo=$(cargo --version | grep -oE "\(([a-z0-9]+) [0-9-]+\)") + rustc=$(rustc --version | grep -oE "\(([a-z0-9]+) [0-9-]+\)") # Write the extracted version to a GitHub output variable # See - echo "cargo-version=$(echo $version)" >> "${GITHUB_OUTPUT}" + echo "rust-version=$(echo $cargo)-$(echo $rustc)" >> "${GITHUB_OUTPUT}" # If the workflow file's contents change, the new version's jobs should be considered distinct. - name: Get workflow path @@ -123,10 +125,10 @@ runs: ${{ inputs.cargo-home }}/registry/cache/ ${{ inputs.cargo-home }}/git/db/ ${{ inputs.cargo-target-dir }}/ - key: ${{ runner.os }}-${{ steps.cargo-version.outputs.cargo-version }}-${{ steps.cache-group.outputs.cache-group }}-${{ hashFiles('**/Cargo.toml') }}-${{ hashFiles('**/Cargo.lock') }} + key: ${{ runner.os }}-${{ steps.rust-version.outputs.rust-version }}-${{ steps.cache-group.outputs.cache-group }}-${{ hashFiles('**/Cargo.toml') }}-${{ hashFiles('**/Cargo.lock') }} restore-keys: | - ${{ runner.os }}-${{ steps.cargo-version.outputs.cargo-version }}-${{ steps.cache-group.outputs.cache-group }}-${{ hashFiles('**/Cargo.toml') }}- - ${{ runner.os }}-${{ steps.cargo-version.outputs.cargo-version }}-${{ steps.cache-group.outputs.cache-group }}- + ${{ runner.os }}-${{ steps.rust-version.outputs.rust-version }}-${{ steps.cache-group.outputs.cache-group }}-${{ hashFiles('**/Cargo.toml') }}- + ${{ runner.os }}-${{ steps.rust-version.outputs.rust-version }}-${{ steps.cache-group.outputs.cache-group }}- # Otherwise, we only restore the cache # See . @@ -141,7 +143,7 @@ runs: ${{ inputs.cargo-home }}/registry/cache/ ${{ inputs.cargo-home }}/git/db/ ${{ inputs.cargo-target-dir }}/ - key: ${{ runner.os }}-${{ steps.cargo-version.outputs.cargo-version }}-${{ steps.cache-group.outputs.cache-group }}-${{ hashFiles('**/Cargo.toml') }}-${{ hashFiles('**/Cargo.lock') }} + key: ${{ runner.os }}-${{ steps.rust-version.outputs.rust-version }}-${{ steps.cache-group.outputs.cache-group }}-${{ hashFiles('**/Cargo.toml') }}-${{ hashFiles('**/Cargo.lock') }} restore-keys: | - ${{ runner.os }}-${{ steps.cargo-version.outputs.cargo-version }}-${{ steps.cache-group.outputs.cache-group }}-${{ hashFiles('**/Cargo.toml') }}- - ${{ runner.os }}-${{ steps.cargo-version.outputs.cargo-version }}-${{ steps.cache-group.outputs.cache-group }}- + ${{ runner.os }}-${{ steps.rust-version.outputs.rust-version }}-${{ steps.cache-group.outputs.cache-group }}-${{ hashFiles('**/Cargo.toml') }}- + ${{ runner.os }}-${{ steps.rust-version.outputs.rust-version }}-${{ steps.cache-group.outputs.cache-group }}- From 36ba415f7f5fc327ad415e1321535af20306d0b5 Mon Sep 17 00:00:00 2001 From: TimJentzsch Date: Fri, 9 Aug 2024 11:55:34 +0200 Subject: [PATCH 2/2] Improve wording in docs Co-authored-by: Ben Frankel --- action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/action.yml b/action.yml index bf957b1..4735bf1 100644 --- a/action.yml +++ b/action.yml @@ -80,7 +80,7 @@ runs: cargo --version rustc --version - # Extract the commit hash and date of the cargo version + # Extract the commit hash and date of the rust version # E.g. "cargo 1.72.0-nightly (0c14026aa 2023-06-14)" becomes "(0c14026aa 2023-06-14)" cargo=$(cargo --version | grep -oE "\(([a-z0-9]+) [0-9-]+\)") rustc=$(rustc --version | grep -oE "\(([a-z0-9]+) [0-9-]+\)")