From e4363145e4d293d6e1226c8e44af3b50c3bf7b77 Mon Sep 17 00:00:00 2001 From: Bogdan Drutu Date: Tue, 10 May 2022 15:56:28 -0700 Subject: [PATCH] Merge cache for go mod and tools. go mod cache already got invalidated when tools changed (#5329) Signed-off-by: Bogdan Drutu --- .github/workflows/build-and-test.yml | 88 ++++++++++------------------ 1 file changed, 32 insertions(+), 56 deletions(-) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 4b8ddbb92fa..d25da03b5f3 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -21,22 +21,18 @@ jobs: echo "GOPATH=$(go env GOPATH)" >> $GITHUB_ENV echo "$(go env GOPATH)/bin" >> $GITHUB_PATH - name: Cache Go - id: module-cache + id: go-cache uses: actions/cache@v3 with: - path: /home/runner/go/pkg/mod - key: go-pkg-mod-${{ runner.os }}-${{ hashFiles('**/go.sum') }} + path: | + /home/runner/go/bin + /home/runner/go/pkg/mod + key: go-cache-${{ runner.os }}-${{ hashFiles('**/go.sum') }} - name: Install dependencies - if: steps.module-cache.outputs.cache-hit != 'true' + if: steps.go-cache.outputs.cache-hit != 'true' run: make gomoddownload - - name: Cache Tools - id: tool-cache - uses: actions/cache@v3 - with: - path: /home/runner/go/bin - key: tools-${{ runner.os }}-${{ hashFiles('./internal/tools/go.mod', './cmd/mdatagen/go.mod', './cmd/mdatagen/*.go') }} - name: Install Tools - if: steps.tool-cache.outputs.cache-hit != 'true' + if: steps.go-cache.outputs.cache-hit != 'true' run: make install-tools lint: runs-on: ubuntu-latest @@ -53,17 +49,13 @@ jobs: echo "GOPATH=$(go env GOPATH)" >> $GITHUB_ENV echo "$(go env GOPATH)/bin" >> $GITHUB_PATH - name: Cache Go - id: module-cache - uses: actions/cache@v3 - with: - path: /home/runner/go/pkg/mod - key: go-pkg-mod-${{ runner.os }}-${{ hashFiles('**/go.sum') }} - - name: Cache Tools - id: tool-cache + id: go-cache uses: actions/cache@v3 with: - path: /home/runner/go/bin - key: tools-${{ runner.os }}-${{ hashFiles('./internal/tools/go.mod', './cmd/mdatagen/go.mod', './cmd/mdatagen/*.go') }} + path: | + /home/runner/go/bin + /home/runner/go/pkg/mod + key: go-cache-${{ runner.os }}-${{ hashFiles('**/go.sum') }} - name: golint run: make -j2 golint - name: goimpi @@ -84,17 +76,13 @@ jobs: echo "GOPATH=$(go env GOPATH)" >> $GITHUB_ENV echo "$(go env GOPATH)/bin" >> $GITHUB_PATH - name: Cache Go - id: module-cache - uses: actions/cache@v3 - with: - path: /home/runner/go/pkg/mod - key: go-pkg-mod-${{ runner.os }}-${{ hashFiles('**/go.sum') }} - - name: Cache Tools - id: tool-cache + id: go-cache uses: actions/cache@v3 with: - path: /home/runner/go/bin - key: tools-${{ runner.os }}-${{ hashFiles('./internal/tools/go.mod', './cmd/mdatagen/go.mod', './cmd/mdatagen/*.go') }} + path: | + /home/runner/go/bin + /home/runner/go/pkg/mod + key: go-cache-${{ runner.os }}-${{ hashFiles('**/go.sum') }} - name: checklicense run: make checklicense - name: misspell @@ -141,17 +129,13 @@ jobs: echo "GOPATH=$(go env GOPATH)" >> $GITHUB_ENV echo "$(go env GOPATH)/bin" >> $GITHUB_PATH - name: Cache Go - id: module-cache + id: go-cache uses: actions/cache@v3 with: - path: /home/runner/go/pkg/mod - key: go-pkg-mod-${{ runner.os }}-${{ hashFiles('**/go.sum') }} - - name: Cache Tools - id: tool-cache - uses: actions/cache@v3 - with: - path: /home/runner/go/bin - key: tools-${{ runner.os }}-${{ hashFiles('./internal/tools/go.mod', './cmd/mdatagen/go.mod', './cmd/mdatagen/*.go') }} + path: | + /home/runner/go/bin + /home/runner/go/pkg/mod + key: go-cache-${{ runner.os }}-${{ hashFiles('**/go.sum') }} - name: Cache Build uses: actions/cache@v3 with: @@ -174,17 +158,13 @@ jobs: echo "GOPATH=$(go env GOPATH)" >> $GITHUB_ENV echo "$(go env GOPATH)/bin" >> $GITHUB_PATH - name: Cache Go - id: module-cache - uses: actions/cache@v3 - with: - path: /home/runner/go/pkg/mod - key: go-pkg-mod-${{ runner.os }}-${{ hashFiles('**/go.sum') }} - - name: Cache Tools - id: tool-cache + id: go-cache uses: actions/cache@v3 with: - path: /home/runner/go/bin - key: tools-${{ runner.os }}-${{ hashFiles('./internal/tools/go.mod', './cmd/mdatagen/go.mod', './cmd/mdatagen/*.go') }} + path: | + /home/runner/go/bin + /home/runner/go/pkg/mod + key: go-cache-${{ runner.os }}-${{ hashFiles('**/go.sum') }} - name: Cache Build uses: actions/cache@v3 with: @@ -237,17 +217,13 @@ jobs: echo "GOPATH=$(go env GOPATH)" >> $GITHUB_ENV echo "$(go env GOPATH)/bin" >> $GITHUB_PATH - name: Cache Go - id: module-cache - uses: actions/cache@v3 - with: - path: /home/runner/go/pkg/mod - key: go-pkg-mod-${{ runner.os }}-${{ hashFiles('**/go.sum') }} - - name: Cache Tools - id: tool-cache + id: go-cache uses: actions/cache@v3 with: - path: /home/runner/go/bin - key: tools-${{ runner.os }}-${{ hashFiles('./internal/tools/go.mod', './cmd/mdatagen/go.mod', './cmd/mdatagen/*.go') }} + path: | + /home/runner/go/bin + /home/runner/go/pkg/mod + key: go-cache-${{ runner.os }}-${{ hashFiles('**/go.sum') }} - name: Build env: GOOS: ${{matrix.goos}}