From 36b148c2d2f7b0b6dcf9872202609244df703f7c Mon Sep 17 00:00:00 2001 From: James Tucker Date: Mon, 14 Mar 2022 17:10:13 -0700 Subject: [PATCH] github/windows: improve cache performance (#4171) - Remove the expanded module files, as Go can likely expand the zips faster than tar can expand the extra copies. - Add the go-build cache. - Remove the extra restore key to avoid extra cache lookups on miss. Signed-off-by: James Tucker Co-authored-by: James Tucker --- .github/workflows/windows.yml | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 8b5162991..0532ad78f 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -27,10 +27,18 @@ jobs: - name: Restore Cache uses: actions/cache@v2 with: - path: ~/go/pkg/mod - key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} - restore-keys: | - ${{ runner.os }}-go- + # Note: unlike some other setups, this is only grabbing the mod download + # cache, rather than the whole mod directory, as the download cache + # contains zips that can be unpacked in parallel faster than they can be + # fetched and extracted by tar + path: | + ~/go/pkg/mod/cache + ~\AppData\Local\go-build + + # The -2- here should be incremented when the scheme of data to be + # cached changes (e.g. path above changes). + # TODO(raggi): add a go version here. + key: ${{ runner.os }}-go-2-${{ hashFiles('**/go.sum') }} - name: Test # Don't use -bench=. -benchtime=1x.