From 81f7a653b20c2bb7a8bc43fabe9913005731aa7e Mon Sep 17 00:00:00 2001 From: Bert Belder Date: Tue, 8 Sep 2020 00:42:43 +0200 Subject: [PATCH] ci: add workaround for MacOS + Cargo + Github Actions cache bug (#462) --- .github/workflows/ci.yml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 78b599e2..29f6fc68 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -114,6 +114,26 @@ jobs: restore-keys: ${{ matrix.config.target }}-${{ matrix.config.variant }}- + + # It seems that the 'target' directory does not always get restored + # from cache correctly on MacOS. In the build log we see the following: + # + # Fresh serde_derive v1.0.115 + # + # But a little while after that Cargo aborts because 'serde_derive' is + # now nowhere to be found. We're not the only ones experiencing this, + # see https://github.com/actions-rs/cargo/issues/111. + # + # error[E0463]: can't find crate for `serde_derive` + # ##[error] --> /Users/runner/.cargo/registry/src/github.com- + # | 1ecc6299db9ec823/serde-1.0.115/src/lib.rs:285:1 + # | + # 285 | extern crate serde_derive; + # | ^^^^^^^^^^^^^^^^^^^^^^^^^^ can't find crate + - name: Work around MacOS + Cargo + Github Actions cache bug + if: runner.os == 'macOS' + run: cargo clean -p serde_derive + - name: Install and start sccache shell: pwsh env: