Share one tool cache between CI and release builds, fall back to the last tools after a mise.toml change, and cache the Windows tools on their own
This commit is contained in:
@@ -14,6 +14,8 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
# The same tool cache as in release.yaml: the same key and the same folders, or
|
||||
# neither job can use what the other saved.
|
||||
- name: Restore tool cache
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
@@ -24,7 +26,10 @@ jobs:
|
||||
~/.rustup
|
||||
~/.local/bin/mise
|
||||
~/.local/share/mise
|
||||
key: tools-check-${{ hashFiles('scripts/ci-setup.sh', 'mise.toml') }}
|
||||
key: tools-${{ hashFiles('scripts/ci-setup.sh', 'mise.toml') }}
|
||||
# After a change to mise.toml, start from the last tools; mise installs only what changed.
|
||||
restore-keys: |
|
||||
tools-
|
||||
- name: Restore build cache
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
|
||||
@@ -24,10 +24,11 @@ jobs:
|
||||
CARGO_BUILD_JOBS: "2"
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
# The same tool cache as in ci.yaml: the same key and the same folders, or
|
||||
# neither job can use what the other saved.
|
||||
- name: Restore tool cache
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
# ~/.cache/cargo-xwin holds the Windows SDK files cargo-xwin downloads.
|
||||
path: |
|
||||
~/.cargo/bin
|
||||
~/.cargo/registry
|
||||
@@ -35,8 +36,22 @@ jobs:
|
||||
~/.rustup
|
||||
~/.local/bin/mise
|
||||
~/.local/share/mise
|
||||
key: tools-${{ hashFiles('scripts/ci-setup.sh', 'mise.toml') }}
|
||||
# After a change to mise.toml, start from the last tools; mise installs only what changed.
|
||||
restore-keys: |
|
||||
tools-
|
||||
# What only the Windows build needs. It is restored after the tool cache, so these
|
||||
# folders are added to it. ~/.cache/cargo-xwin holds the Windows SDK files cargo-xwin downloads.
|
||||
- name: Restore Windows tool cache
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
~/.cargo/bin/cargo-xwin
|
||||
~/.rustup/toolchains/*/lib/rustlib/x86_64-pc-windows-msvc
|
||||
~/.cache/cargo-xwin
|
||||
key: tools-release-${{ hashFiles('scripts/ci-setup.sh', 'mise.toml') }}
|
||||
key: windows-tools-${{ hashFiles('scripts/ci-setup.sh', 'mise.toml') }}
|
||||
restore-keys: |
|
||||
windows-tools-
|
||||
- name: Restore build cache
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
|
||||
Reference in New Issue
Block a user