Skip to content

Commit 06fea59

Browse files
committed
ci: fail on failed coverage upload
1 parent 9a6f06d commit 06fea59

1 file changed

Lines changed: 45 additions & 14 deletions

File tree

.github/workflows/ci.yml

Lines changed: 45 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ env:
1818

1919
jobs:
2020
unit-test:
21-
name: "Unit Tests (Debian 13)"
21+
name: "Unit Tests"
2222
runs-on: ubuntu-22.04
2323
continue-on-error: false
2424
timeout-minutes: 30
@@ -31,17 +31,18 @@ jobs:
3131
- name: "Docker Image"
3232
run: |
3333
make docker-image
34-
- name: "Unit Test"
34+
- name: "Unit Tests"
3535
run: |
3636
make docker-unit-tests
37-
- name: "Upload Code Coverage"
38-
uses: codecov/codecov-action@v2
37+
mkdir -p out/coverage
38+
mv unit.out out/coverage/
39+
- uses: actions/upload-artifact@v4
3940
with:
40-
token: ${{ secrets.CODECOV_TOKEN }}
41-
files: unit.out
41+
name: unit-tests-coverage
42+
path: out/
4243

4344
test:
44-
name: "Test (Ubuntu 22.04)"
45+
name: "System Test"
4546
runs-on: ubuntu-22.04
4647
continue-on-error: false
4748
timeout-minutes: 30
@@ -88,7 +89,8 @@ jobs:
8889

8990
- name: "Run Benchmark"
9091
run: |
91-
COVERAGE_DIR=${{ runner.temp }} make bench
92+
mkdir -p out/coverage
93+
COVERAGE_DIR=$PWD/out/coverage make bench
9294
9395
- name: "Run System Tests"
9496
env:
@@ -100,23 +102,53 @@ jobs:
100102
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
101103
run: |
102104
sudo mkdir -p /srv ; sudo chown runner /srv
103-
COVERAGE_DIR=${{ runner.temp }} make system-test
105+
mkdir -p out/coverage
106+
COVERAGE_DIR=$PWD/out/coverage make system-test
107+
108+
- uses: actions/upload-artifact@v4
109+
with:
110+
name: system-tests-coverage
111+
path: out/
112+
113+
coverage:
114+
name: "Upload Coverage"
115+
runs-on: ubuntu-22.04
116+
continue-on-error: false
117+
timeout-minutes: 30
118+
needs:
119+
- unit-test
120+
- test
121+
steps:
122+
- name: "Checkout Repository"
123+
uses: actions/checkout@v4
124+
125+
- name: "Download Unit Test Coverage"
126+
uses: actions/download-artifact@v4
127+
with:
128+
name: unit-tests-coverage
129+
130+
- name: "Download System Test Coverage"
131+
uses: actions/download-artifact@v4
132+
with:
133+
name: system-tests-coverage
104134

105135
- name: "Merge Code Coverage"
106136
run: |
107137
go install github.com/wadey/gocovmerge@v0.0.0-20160331181800-b5bfa59ec0ad
108-
~/go/bin/gocovmerge ${{ runner.temp }}/*.out > coverage.txt
138+
~/go/bin/gocovmerge coverage/*.out > coverage.txt
109139
110140
- name: "Upload Code Coverage"
111-
uses: codecov/codecov-action@v2
141+
uses: codecov/codecov-action@v5
112142
with:
113143
token: ${{ secrets.CODECOV_TOKEN }}
114144
files: coverage.txt
145+
fail_ci_if_error: true
146+
115147

116148
ci-debian-build:
117149
name: "Build"
118150
needs:
119-
- test
151+
- coverage
120152
runs-on: ubuntu-latest
121153
strategy:
122154
fail-fast: false
@@ -237,8 +269,7 @@ jobs:
237269
ci-binary-build:
238270
name: "Build"
239271
needs:
240-
- unit-test
241-
- test
272+
- coverage
242273
runs-on: ubuntu-latest
243274
strategy:
244275
matrix:

0 commit comments

Comments
 (0)