Add caching layer to CI (#277)

Added a caching layer to the CI

This creates a cache on first run (should exist because of this pr now)
The hash is calculated from the Cargo.toml files (recursively if i've
done it correctly)
So whenever a Cargo.toml file changes, it invalidates the cache.

Local crates are _not_ cached, so they get recompiled regardless, but it
already shaves off like half the total time from the action runners.
This commit is contained in:
AviiNL 2023-03-08 17:51:47 +01:00 committed by GitHub
parent e933fd69f5
commit 4c0f070d27
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -24,6 +24,20 @@ jobs:
with: with:
components: clippy, rustfmt components: clippy, rustfmt
- run: cp crates/playground/src/playground.template.rs crates/playground/src/playground.rs - run: cp crates/playground/src/playground.template.rs crates/playground/src/playground.rs
- name: Set up cargo cache
uses: actions/cache@v3
continue-on-error: false
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-target-${{ hashFiles('**/Cargo.toml') }}
restore-keys: |
${{ runner.os }}-cargo-target-${{ hashFiles('**/Cargo.toml') }}
${{ runner.os }}-cargo-target
- name: Validate formatting - name: Validate formatting
run: cargo fmt --all -- --check run: cargo fmt --all -- --check
- name: Validate documentation - name: Validate documentation