rust-toolchain.toml and incremental build example

Changes to rust-toolchain.toml should invalidate the cache.
Also, add an example with incremental builds.
This commit is contained in:
Jason Orendorff 2023-06-12 11:14:05 -05:00
parent 04f198bf0b
commit 8645982dff
1 changed files with 20 additions and 1 deletions

View File

@ -596,7 +596,26 @@ whenever possible:
~/.cargo/registry/cache/ ~/.cargo/registry/cache/
~/.cargo/git/db/ ~/.cargo/git/db/
target/ target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock', 'rust-toolchain.toml') }}
```
Since Rust compile times are so long, you might want to take advantage of incremental builds. To do this, use the configuration below.
- Include the `run_id` in the key to force `actions/cache` to upload a new snapshot after every build.
- Use `restore-keys:` to load the previous build (when there are multiple partial matches, it selects the most recent).
```yaml
- uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
~/.rustup/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock', 'rust-toolchain.toml') }}-${{ github.run_id }}
restore-keys: |
${{ runner.os }}-cargo-${{ hashFiles(**/'Cargo.lock', 'rust-toolchain.toml') }}
``` ```
## Scala - SBT ## Scala - SBT