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
ci / check (push) Successful in 3m51s
release / release (push) Successful in 16m43s

This commit is contained in:
2026-10-15 05:42:33 +02:00
parent 52d6522075
commit 869f169aff
2 changed files with 23 additions and 3 deletions
+6 -1
View File
@@ -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:
+17 -2
View File
@@ -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: