From ba9cc102e295634035a3f9bac1b4656e735c5fc6 Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Tue, 21 Nov 2023 16:53:28 +0100 Subject: [PATCH] ci: cache lockfiles - Removes the slow "updating crates.io index, updating git" at start of the job. - Avoids CI being randomly slower if a widely-used dep (like serde) gets bumped causing rebuilding everything. --- .github/ci/build-stable.sh | 10 ++++++++++ .github/ci/build.sh | 10 ++++++++++ 2 files changed, 20 insertions(+) diff --git a/.github/ci/build-stable.sh b/.github/ci/build-stable.sh index 8012f692..ffaebeb3 100755 --- a/.github/ci/build-stable.sh +++ b/.github/ci/build-stable.sh @@ -12,9 +12,19 @@ export CARGO_TARGET_DIR=/ci/cache/target # used when pointing stm32-metapac to a CI-built one. export CARGO_NET_GIT_FETCH_WITH_CLI=true +# Restore lockfiles +if [ -f /ci/cache/lockfiles.tar ]; then + echo Restoring lockfiles... + tar xf /ci/cache/lockfiles.tar +fi + hashtime restore /ci/cache/filetime.json || true hashtime save /ci/cache/filetime.json sed -i 's/channel.*/channel = "stable"/g' rust-toolchain.toml ./ci_stable.sh + +# Save lockfiles +echo Saving lockfiles... +find . -type f -name Cargo.lock -exec tar -cf /ci/cache/lockfiles.tar '{}' \+ \ No newline at end of file diff --git a/.github/ci/build.sh b/.github/ci/build.sh index 78ab976d..e7a6c0d8 100755 --- a/.github/ci/build.sh +++ b/.github/ci/build.sh @@ -18,7 +18,17 @@ fi # used when pointing stm32-metapac to a CI-built one. export CARGO_NET_GIT_FETCH_WITH_CLI=true +# Restore lockfiles +if [ -f /ci/cache/lockfiles.tar ]; then + echo Restoring lockfiles... + tar xf /ci/cache/lockfiles.tar +fi + hashtime restore /ci/cache/filetime.json || true hashtime save /ci/cache/filetime.json ./ci.sh + +# Save lockfiles +echo Saving lockfiles... +find . -type f -name Cargo.lock -exec tar -cf /ci/cache/lockfiles.tar '{}' \+ \ No newline at end of file