1818
1919jobs :
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
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