diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1507ec4ce4..d8baeb069c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -12,17 +12,30 @@ jobs: platform: [macos-latest, ubuntu-latest] runs-on: ${{ matrix.platform }} steps: - - uses: actions/setup-go@v1 + - id: go-cache-paths + run: | + echo "::set-output name=go-build::$(go env GOCACHE)" + echo "::set-output name=go-mod::$(go env GOMODCACHE)" + - uses: actions/setup-go@v2 with: go-version: ${{ matrix.go-version }} - uses: actions/checkout@v2 + # cache go build cache + - name: Cache go modules + uses: actions/cache@v2 + with: + path: ${{ steps.go-cache-paths.outputs.go-build }} + key: ${{ runner.os }}-go-build-${{ hashFiles('**/go.sum') }} + restore-keys: ${{ runner.os }}-go-build + + # cache go mod cache - name: Cache go modules - uses: actions/cache@v1 + uses: actions/cache@v2 with: - path: ~/go/pkg/mod - key: ${{ runner.os }}-go-${{ hashFiles('go.sum') }} - restore-keys: ${{ runner.os }}-go- + path: ${{ steps.go-cache-paths.outputs.go-mod }} + key: ${{ runner.os }}-go-mod-${{ hashFiles('**/go.sum') }} + restore-keys: ${{ runner.os }}-go-mod - name: Run build run: make build @@ -30,24 +43,36 @@ jobs: publish-code-coverage: runs-on: ubuntu-latest steps: - - uses: actions/setup-go@v1 + - id: go-cache-paths + run: | + echo "::set-output name=go-build::$(go env GOCACHE)" + echo "::set-output name=go-mod::$(go env GOMODCACHE)" + - uses: actions/setup-go@v2 with: go-version: ${{ matrix.go-version }} - uses: actions/checkout@v2 + # cache go build cache + - name: Cache go modules + uses: actions/cache@v2 + with: + path: ${{ steps.go-cache-paths.outputs.go-build }} + key: ${{ runner.os }}-go-build-${{ hashFiles('**/go.sum') }} + restore-keys: ${{ runner.os }}-go-build + + # cache go mod cache - name: Cache go modules - uses: actions/cache@v1 + uses: actions/cache@v2 with: - path: ~/go/pkg/mod - key: ${{ runner.os }}-go-${{ hashFiles('go.sum') }} - restore-keys: ${{ runner.os }}-go- + path: ${{ steps.go-cache-paths.outputs.go-mod }} + key: ${{ runner.os }}-go-mod-${{ hashFiles('**/go.sum') }} + restore-keys: ${{ runner.os }}-go-mod - name: Generate coverage report run: | go test ./... -short -coverprofile=coverage.out -covermode=atomic -timeout=20m - uses: codecov/codecov-action@v1 with: - token: "89982880-a53b-4a3a-9bdd-3dc9c78bd190" files: ./coverage.out flags: unit-tests name: coverage diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 2b1ff30d75..d517d7a1db 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -20,7 +20,7 @@ jobs: vet-check: runs-on: ubuntu-latest steps: - - uses: actions/setup-go@v1 + - uses: actions/setup-go@v2 with: go-version: '1.15.x' - uses: actions/checkout@v2 diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 23fa5b0670..270b4347de 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -11,17 +11,31 @@ jobs: platform: [macos-latest, ubuntu-latest] runs-on: ${{ matrix.platform }} steps: - - uses: actions/setup-go@v1 + - id: go-cache-paths + run: | + echo "::set-output name=go-build::$(go env GOCACHE)" + echo "::set-output name=go-mod::$(go env GOMODCACHE)" + + - uses: actions/setup-go@v2 with: go-version: ${{ matrix.go-version }} - uses: actions/checkout@v2 + # cache go build cache - name: Cache go modules - uses: actions/cache@v1 + uses: actions/cache@v2 with: - path: ~/go/pkg/mod - key: ${{ runner.os }}-go-${{ hashFiles('go.sum') }} - restore-keys: ${{ runner.os }}-go- + path: ${{ steps.go-cache-paths.outputs.go-build }} + key: ${{ runner.os }}-go-build-${{ hashFiles('**/go.sum') }} + restore-keys: ${{ runner.os }}-go-build + + # cache go mod cache + - name: Cache go modules + uses: actions/cache@v2 + with: + path: ${{ steps.go-cache-paths.outputs.go-mod }} + key: ${{ runner.os }}-go-mod-${{ hashFiles('**/go.sum') }} + restore-keys: ${{ runner.os }}-go-mod - name: Install Subkey run: | @@ -42,23 +56,38 @@ jobs: publish-code-coverage: runs-on: ubuntu-latest steps: - - uses: actions/setup-go@v1 + - id: go-cache-paths + run: | + echo "::set-output name=go-build::$(go env GOCACHE)" + echo "::set-output name=go-mod::$(go env GOMODCACHE)" + - uses: actions/setup-go@v2 with: go-version: ${{ matrix.go-version }} - uses: actions/checkout@v2 + # cache go build cache - name: Cache go modules - uses: actions/cache@v1 + uses: actions/cache@v2 with: - path: ~/go/pkg/mod - key: ${{ runner.os }}-go-${{ hashFiles('go.sum') }} - restore-keys: ${{ runner.os }}-go- + path: ${{ steps.go-cache-paths.outputs.go-build }} + key: ${{ runner.os }}-go-build-${{ hashFiles('**/go.sum') }} + restore-keys: ${{ runner.os }}-go-build + + # cache go mod cache + - name: Cache go modules + uses: actions/cache@v2 + with: + path: ${{ steps.go-cache-paths.outputs.go-mod }} + key: ${{ runner.os }}-go-mod-${{ hashFiles('**/go.sum') }} + restore-keys: ${{ runner.os }}-go-mod - name: Generate coverage report run: | go test ./... -short -coverprofile=coverage.out -covermode=atomic -timeout=20m - uses: codecov/codecov-action@v1 - with: + with: + if_ci_failed: success + informational: true files: ./coverage.out flags: unit-tests name: coverage