Skip to content

Commit 598de4e

Browse files
chore: improved ci caching for mod and build. Also add codecov id-ci-fail success attribute (#1590)
Co-authored-by: Arijit Das <[email protected]>
1 parent c52793a commit 598de4e

File tree

3 files changed

+77
-23
lines changed

3 files changed

+77
-23
lines changed

.github/workflows/build.yml

Lines changed: 36 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,42 +12,67 @@ jobs:
1212
platform: [macos-latest, ubuntu-latest]
1313
runs-on: ${{ matrix.platform }}
1414
steps:
15-
- uses: actions/setup-go@v1
15+
- id: go-cache-paths
16+
run: |
17+
echo "::set-output name=go-build::$(go env GOCACHE)"
18+
echo "::set-output name=go-mod::$(go env GOMODCACHE)"
19+
- uses: actions/setup-go@v2
1620
with:
1721
go-version: ${{ matrix.go-version }}
1822
- uses: actions/checkout@v2
1923

24+
# cache go build cache
25+
- name: Cache go modules
26+
uses: actions/cache@v2
27+
with:
28+
path: ${{ steps.go-cache-paths.outputs.go-build }}
29+
key: ${{ runner.os }}-go-build-${{ hashFiles('**/go.sum') }}
30+
restore-keys: ${{ runner.os }}-go-build
31+
32+
# cache go mod cache
2033
- name: Cache go modules
21-
uses: actions/cache@v1
34+
uses: actions/cache@v2
2235
with:
23-
path: ~/go/pkg/mod
24-
key: ${{ runner.os }}-go-${{ hashFiles('go.sum') }}
25-
restore-keys: ${{ runner.os }}-go-
36+
path: ${{ steps.go-cache-paths.outputs.go-mod }}
37+
key: ${{ runner.os }}-go-mod-${{ hashFiles('**/go.sum') }}
38+
restore-keys: ${{ runner.os }}-go-mod
2639

2740
- name: Run build
2841
run: make build
2942

3043
publish-code-coverage:
3144
runs-on: ubuntu-latest
3245
steps:
33-
- uses: actions/setup-go@v1
46+
- id: go-cache-paths
47+
run: |
48+
echo "::set-output name=go-build::$(go env GOCACHE)"
49+
echo "::set-output name=go-mod::$(go env GOMODCACHE)"
50+
- uses: actions/setup-go@v2
3451
with:
3552
go-version: ${{ matrix.go-version }}
3653
- uses: actions/checkout@v2
3754

55+
# cache go build cache
56+
- name: Cache go modules
57+
uses: actions/cache@v2
58+
with:
59+
path: ${{ steps.go-cache-paths.outputs.go-build }}
60+
key: ${{ runner.os }}-go-build-${{ hashFiles('**/go.sum') }}
61+
restore-keys: ${{ runner.os }}-go-build
62+
63+
# cache go mod cache
3864
- name: Cache go modules
39-
uses: actions/cache@v1
65+
uses: actions/cache@v2
4066
with:
41-
path: ~/go/pkg/mod
42-
key: ${{ runner.os }}-go-${{ hashFiles('go.sum') }}
43-
restore-keys: ${{ runner.os }}-go-
67+
path: ${{ steps.go-cache-paths.outputs.go-mod }}
68+
key: ${{ runner.os }}-go-mod-${{ hashFiles('**/go.sum') }}
69+
restore-keys: ${{ runner.os }}-go-mod
4470

4571
- name: Generate coverage report
4672
run: |
4773
go test ./... -short -coverprofile=coverage.out -covermode=atomic -timeout=20m
4874
- uses: codecov/codecov-action@v1
4975
with:
50-
token: "89982880-a53b-4a3a-9bdd-3dc9c78bd190"
5176
files: ./coverage.out
5277
flags: unit-tests
5378
name: coverage

.github/workflows/checks.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
vet-check:
2121
runs-on: ubuntu-latest
2222
steps:
23-
- uses: actions/setup-go@v1
23+
- uses: actions/setup-go@v2
2424
with:
2525
go-version: '1.15.x'
2626
- uses: actions/checkout@v2

.github/workflows/tests.yml

Lines changed: 40 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,31 @@ jobs:
1111
platform: [macos-latest, ubuntu-latest]
1212
runs-on: ${{ matrix.platform }}
1313
steps:
14-
- uses: actions/setup-go@v1
14+
- id: go-cache-paths
15+
run: |
16+
echo "::set-output name=go-build::$(go env GOCACHE)"
17+
echo "::set-output name=go-mod::$(go env GOMODCACHE)"
18+
19+
- uses: actions/setup-go@v2
1520
with:
1621
go-version: ${{ matrix.go-version }}
1722
- uses: actions/checkout@v2
1823

24+
# cache go build cache
1925
- name: Cache go modules
20-
uses: actions/cache@v1
26+
uses: actions/cache@v2
2127
with:
22-
path: ~/go/pkg/mod
23-
key: ${{ runner.os }}-go-${{ hashFiles('go.sum') }}
24-
restore-keys: ${{ runner.os }}-go-
28+
path: ${{ steps.go-cache-paths.outputs.go-build }}
29+
key: ${{ runner.os }}-go-build-${{ hashFiles('**/go.sum') }}
30+
restore-keys: ${{ runner.os }}-go-build
31+
32+
# cache go mod cache
33+
- name: Cache go modules
34+
uses: actions/cache@v2
35+
with:
36+
path: ${{ steps.go-cache-paths.outputs.go-mod }}
37+
key: ${{ runner.os }}-go-mod-${{ hashFiles('**/go.sum') }}
38+
restore-keys: ${{ runner.os }}-go-mod
2539

2640
- name: Install Subkey
2741
run: |
@@ -42,23 +56,38 @@ jobs:
4256
publish-code-coverage:
4357
runs-on: ubuntu-latest
4458
steps:
45-
- uses: actions/setup-go@v1
59+
- id: go-cache-paths
60+
run: |
61+
echo "::set-output name=go-build::$(go env GOCACHE)"
62+
echo "::set-output name=go-mod::$(go env GOMODCACHE)"
63+
- uses: actions/setup-go@v2
4664
with:
4765
go-version: ${{ matrix.go-version }}
4866
- uses: actions/checkout@v2
4967

68+
# cache go build cache
5069
- name: Cache go modules
51-
uses: actions/cache@v1
70+
uses: actions/cache@v2
5271
with:
53-
path: ~/go/pkg/mod
54-
key: ${{ runner.os }}-go-${{ hashFiles('go.sum') }}
55-
restore-keys: ${{ runner.os }}-go-
72+
path: ${{ steps.go-cache-paths.outputs.go-build }}
73+
key: ${{ runner.os }}-go-build-${{ hashFiles('**/go.sum') }}
74+
restore-keys: ${{ runner.os }}-go-build
75+
76+
# cache go mod cache
77+
- name: Cache go modules
78+
uses: actions/cache@v2
79+
with:
80+
path: ${{ steps.go-cache-paths.outputs.go-mod }}
81+
key: ${{ runner.os }}-go-mod-${{ hashFiles('**/go.sum') }}
82+
restore-keys: ${{ runner.os }}-go-mod
5683

5784
- name: Generate coverage report
5885
run: |
5986
go test ./... -short -coverprofile=coverage.out -covermode=atomic -timeout=20m
6087
- uses: codecov/codecov-action@v1
61-
with:
88+
with:
89+
if_ci_failed: success
90+
informational: true
6291
files: ./coverage.out
6392
flags: unit-tests
6493
name: coverage

0 commit comments

Comments
 (0)