From ef0aaca0d6ca3f4aece20e4d97d546e0d48d17fe Mon Sep 17 00:00:00 2001 From: Francis Lavoie Date: Wed, 25 May 2022 13:56:39 -0400 Subject: [PATCH] ci: Fix build caching on Windows (#4811) * ci: Fix build caching on Windows I was getting tired of Windows being slow as molasses in our CI jobs, so I went to look at our trusty source of github actions + golang information, and found a somewhat recent commit that actually fixed it. See https://github.com/mvdan/github-actions-golang/commit/4b754729baa709da219a5889c459010d4eda1888 I'll do a 2nd empty commit to re-trigger CI shortly to confirm that it actually fixes it. * Retrigger CI --- .github/workflows/ci.yml | 12 ++++++++++-- .github/workflows/cross-build.yml | 8 ++++++-- .github/workflows/release.yml | 8 ++++++-- 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5a79fcd5..05ec80f3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -78,12 +78,20 @@ jobs: printf "Git version: $(git version)\n\n" # Calculate the short SHA1 hash of the git commit echo "::set-output name=short_sha::$(git rev-parse --short HEAD)" - echo "::set-output name=go_cache::$(go env GOCACHE)" - name: Cache the build cache uses: actions/cache@v2 with: - path: ${{ steps.vars.outputs.go_cache }} + # In order: + # * Module download cache + # * Build cache (Linux) + # * Build cache (Mac) + # * Build cache (Windows) + path: | + ~/go/pkg/mod + ~/.cache/go-build + ~/Library/Caches/go-build + ~\AppData\Local\go-build key: ${{ runner.os }}-${{ matrix.go }}-go-ci-${{ hashFiles('**/go.sum') }} restore-keys: | ${{ runner.os }}-${{ matrix.go }}-go-ci diff --git a/.github/workflows/cross-build.yml b/.github/workflows/cross-build.yml index 3ac9548f..f37dc854 100644 --- a/.github/workflows/cross-build.yml +++ b/.github/workflows/cross-build.yml @@ -42,12 +42,16 @@ jobs: go env printf "\n\nSystem environment:\n\n" env - echo "::set-output name=go_cache::$(go env GOCACHE)" - name: Cache the build cache uses: actions/cache@v2 with: - path: ${{ steps.vars.outputs.go_cache }} + # In order: + # * Module download cache + # * Build cache (Linux) + path: | + ~/go/pkg/mod + ~/.cache/go-build key: cross-build-go${{ matrix.go }}-${{ matrix.goos }}-${{ hashFiles('**/go.sum') }} restore-keys: | cross-build-go${{ matrix.go }}-${{ matrix.goos }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9c4db37e..80241201 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -56,7 +56,6 @@ jobs: env echo "::set-output name=version_tag::${GITHUB_REF/refs\/tags\//}" echo "::set-output name=short_sha::$(git rev-parse --short HEAD)" - echo "::set-output name=go_cache::$(go env GOCACHE)" # Add "pip install" CLI tools to PATH echo ~/.local/bin >> $GITHUB_PATH @@ -91,7 +90,12 @@ jobs: - name: Cache the build cache uses: actions/cache@v2 with: - path: ${{ steps.vars.outputs.go_cache }} + # In order: + # * Module download cache + # * Build cache (Linux) + path: | + ~/go/pkg/mod + ~/.cache/go-build key: ${{ runner.os }}-go${{ matrix.go }}-release-${{ hashFiles('**/go.sum') }} restore-keys: | ${{ runner.os }}-go${{ matrix.go }}-release