@@ -14,14 +14,15 @@ concurrency:
1414 group : java-ci-${{ github.ref }}
1515 cancel-in-progress : true
1616
17+ env :
18+ REDIS_RUNNING : " true"
19+ USER_NAME : rqueue
20+ TERM : dumb
21+ JVM_OPTS : -Xmx8g
22+
1723jobs :
1824 build :
1925 runs-on : ubuntu-latest
20- env :
21- REDIS_RUNNING : " true"
22- USER_NAME : rqueue
23- TERM : dumb
24- JVM_OPTS : -Xmx8g
2526 steps :
2627 - name : Checkout
2728 uses : actions/checkout@v4
4849 unit_test :
4950 needs : build
5051 runs-on : ubuntu-latest
51- env :
52- REDIS_RUNNING : " true"
53- USER_NAME : rqueue
54- TERM : dumb
55- JVM_OPTS : -Xmx8g
5652 steps :
5753 - name : Checkout
5854 uses : actions/checkout@v4
@@ -68,26 +64,15 @@ jobs:
6864 uses : gradle/actions/setup-gradle@v4
6965
7066 - name : Run unit tests
71- run : ./gradlew codeCoverageReport -DincludeTags=unit
67+ run : ./gradlew test -DincludeTags=unit
7268
73- - name : Collect logs
74- if : always()
75- run : |
76- mkdir -p log
77- test -f rqueue-core/log/monitor.log && cp rqueue-core/log/monitor.log log/core-monitor.log
78- test -f rqueue-core/log/test.log && cp rqueue-core/log/test.log log/core-test.log
79- test -f rqueue-spring-boot-starter/log/monitor.log && cp rqueue-spring-boot-starter/log/monitor.log log/boot-monitor.log
80- test -f rqueue-spring-boot-starter/log/test.log && cp rqueue-spring-boot-starter/log/test.log log/boot-test.log
81- test -f rqueue-spring/log/monitor.log && cp rqueue-spring/log/monitor.log log/spring-monitor.log
82- test -f rqueue-spring/log/test.log && cp rqueue-spring/log/test.log log/spring-test.log
83-
84- - name : Upload logs
69+ - name : Upload JaCoCo exec data
8570 if : always()
8671 uses : actions/upload-artifact@v4
8772 with :
88- name : unit-test-logs
89- path : log/
90- if-no-files-found : ignore
73+ name : coverage-unit
74+ path : " **/build/reports/jacoco/*.exec "
75+ if-no-files-found : error
9176
9277 - name : Upload JUnit reports
9378 if : always()
@@ -101,13 +86,8 @@ jobs:
10186 if-no-files-found : ignore
10287
10388 producer_only_test :
104- needs : unit_test
89+ needs : build
10590 runs-on : ubuntu-latest
106- env :
107- REDIS_RUNNING : " true"
108- USER_NAME : rqueue
109- TERM : dumb
110- JVM_OPTS : -Xmx8g
11191 steps :
11292 - name : Checkout
11393 uses : actions/checkout@v4
@@ -129,26 +109,15 @@ jobs:
129109 redis-cli --version
130110
131111 - name : Run producer-only tests
132- run : ./gradlew codeCoverageReport -DincludeTags=producerOnly
112+ run : ./gradlew test -DincludeTags=producerOnly
133113
134- - name : Collect logs
135- if : always()
136- run : |
137- mkdir -p log
138- test -f rqueue-core/log/monitor.log && cp rqueue-core/log/monitor.log log/core-monitor.log
139- test -f rqueue-core/log/test.log && cp rqueue-core/log/test.log log/core-test.log
140- test -f rqueue-spring-boot-starter/log/monitor.log && cp rqueue-spring-boot-starter/log/monitor.log log/boot-monitor.log
141- test -f rqueue-spring-boot-starter/log/test.log && cp rqueue-spring-boot-starter/log/test.log log/boot-test.log
142- test -f rqueue-spring/log/monitor.log && cp rqueue-spring/log/monitor.log log/spring-monitor.log
143- test -f rqueue-spring/log/test.log && cp rqueue-spring/log/test.log log/spring-test.log
144-
145- - name : Upload logs
114+ - name : Upload JaCoCo exec data
146115 if : always()
147116 uses : actions/upload-artifact@v4
148117 with :
149- name : producer-test-logs
150- path : log/
151- if-no-files-found : ignore
118+ name : coverage-producer
119+ path : " **/build/reports/jacoco/*.exec "
120+ if-no-files-found : error
152121
153122 - name : Upload JUnit reports
154123 if : always()
@@ -162,13 +131,8 @@ jobs:
162131 if-no-files-found : ignore
163132
164133 integration_test :
165- needs : producer_only_test
134+ needs : build
166135 runs-on : ubuntu-latest
167- env :
168- REDIS_RUNNING : " true"
169- USER_NAME : rqueue
170- TERM : dumb
171- JVM_OPTS : -Xmx8g
172136 steps :
173137 - name : Checkout
174138 uses : actions/checkout@v4
@@ -190,26 +154,15 @@ jobs:
190154 redis-cli --version
191155
192156 - name : Run integration tests
193- run : ./gradlew codeCoverageReport -DincludeTags=integration -DexcludeTags=redisCluster,producerOnly,local
157+ run : ./gradlew test -DincludeTags=integration -DexcludeTags=redisCluster,producerOnly,local
194158
195- - name : Collect logs
196- if : always()
197- run : |
198- mkdir -p log
199- test -f rqueue-core/log/monitor.log && cp rqueue-core/log/monitor.log log/core-monitor.log
200- test -f rqueue-core/log/test.log && cp rqueue-core/log/test.log log/core-test.log
201- test -f rqueue-spring-boot-starter/log/monitor.log && cp rqueue-spring-boot-starter/log/monitor.log log/boot-monitor.log
202- test -f rqueue-spring-boot-starter/log/test.log && cp rqueue-spring-boot-starter/log/test.log log/boot-test.log
203- test -f rqueue-spring/log/monitor.log && cp rqueue-spring/log/monitor.log log/spring-monitor.log
204- test -f rqueue-spring/log/test.log && cp rqueue-spring/log/test.log log/spring-test.log
205-
206- - name : Upload logs
159+ - name : Upload JaCoCo exec data
207160 if : always()
208161 uses : actions/upload-artifact@v4
209162 with :
210- name : integration-test-logs
211- path : log/
212- if-no-files-found : ignore
163+ name : coverage-integration
164+ path : " **/build/reports/jacoco/*.exec "
165+ if-no-files-found : error
213166
214167 - name : Upload JUnit reports
215168 if : always()
@@ -223,13 +176,8 @@ jobs:
223176 if-no-files-found : ignore
224177
225178 redis_cluster_test :
226- needs : integration_test
179+ needs : build
227180 runs-on : ubuntu-latest
228- env :
229- REDIS_RUNNING : " true"
230- USER_NAME : rqueue
231- TERM : dumb
232- JVM_OPTS : -Xmx8g
233181 steps :
234182 - name : Checkout
235183 uses : actions/checkout@v4
@@ -269,26 +217,15 @@ jobs:
269217 yes yes | redis-cli --cluster create 127.0.0.1:9000 127.0.0.1:9001 127.0.0.1:9002 127.0.0.1:9003 127.0.0.1:9004 127.0.0.1:9005 --cluster-replicas 1
270218
271219 - name : Run Redis cluster tests
272- run : ./gradlew codeCoverageReport -DincludeTags=redisCluster
220+ run : ./gradlew test -DincludeTags=redisCluster
273221
274- - name : Collect logs
275- if : always()
276- run : |
277- mkdir -p log
278- test -f rqueue-core/log/monitor.log && cp rqueue-core/log/monitor.log log/core-monitor.log
279- test -f rqueue-core/log/test.log && cp rqueue-core/log/test.log log/core-test.log
280- test -f rqueue-spring-boot-starter/log/monitor.log && cp rqueue-spring-boot-starter/log/monitor.log log/boot-monitor.log
281- test -f rqueue-spring-boot-starter/log/test.log && cp rqueue-spring-boot-starter/log/test.log log/boot-test.log
282- test -f rqueue-spring/log/monitor.log && cp rqueue-spring/log/monitor.log log/spring-monitor.log
283- test -f rqueue-spring/log/test.log && cp rqueue-spring/log/test.log log/spring-test.log
284-
285- - name : Upload logs
222+ - name : Upload JaCoCo exec data
286223 if : always()
287224 uses : actions/upload-artifact@v4
288225 with :
289- name : redis-cluster-test-logs
290- path : log/
291- if-no-files-found : ignore
226+ name : coverage- redis-cluster
227+ path : " **/build/reports/jacoco/*.exec "
228+ if-no-files-found : error
292229
293230 - name : Upload JUnit reports
294231 if : always()
@@ -302,13 +239,9 @@ jobs:
302239 if-no-files-found : ignore
303240
304241 reactive_integration_test :
305- needs : redis_cluster_test
242+ needs : build
306243 runs-on : ubuntu-latest
307244 env :
308- REDIS_RUNNING : " true"
309- USER_NAME : rqueue
310- TERM : dumb
311- JVM_OPTS : -Xmx8g
312245 RQUEUE_REACTIVE_ENABLED : " true"
313246 steps :
314247 - name : Checkout
@@ -331,26 +264,15 @@ jobs:
331264 redis-cli --version
332265
333266 - name : Run reactive integration tests
334- run : ./gradlew codeCoverageReport -DincludeTags=integration -DexcludeTags=redisCluster,producerOnly,local
267+ run : ./gradlew test -DincludeTags=integration -DexcludeTags=redisCluster,producerOnly,local
335268
336- - name : Collect logs
337- if : always()
338- run : |
339- mkdir -p log
340- test -f rqueue-core/log/monitor.log && cp rqueue-core/log/monitor.log log/core-monitor.log
341- test -f rqueue-core/log/test.log && cp rqueue-core/log/test.log log/core-test.log
342- test -f rqueue-spring-boot-starter/log/monitor.log && cp rqueue-spring-boot-starter/log/monitor.log log/boot-monitor.log
343- test -f rqueue-spring-boot-starter/log/test.log && cp rqueue-spring-boot-starter/log/test.log log/boot-test.log
344- test -f rqueue-spring/log/monitor.log && cp rqueue-spring/log/monitor.log log/spring-monitor.log
345- test -f rqueue-spring/log/test.log && cp rqueue-spring/log/test.log log/spring-test.log
346-
347- - name : Upload logs
269+ - name : Upload JaCoCo exec data
348270 if : always()
349271 uses : actions/upload-artifact@v4
350272 with :
351- name : reactive-integration-test-logs
352- path : log/
353- if-no-files-found : ignore
273+ name : coverage-reactive
274+ path : " **/build/reports/jacoco/*.exec "
275+ if-no-files-found : error
354276
355277 - name : Upload JUnit reports
356278 if : always()
@@ -363,15 +285,14 @@ jobs:
363285 rqueue-core/build/reports/junit/xml
364286 if-no-files-found : ignore
365287
366- report_code_coverage :
367- needs : reactive_integration_test
368- if : github.event_name == 'push'
288+ coverage_report :
289+ needs :
290+ - unit_test
291+ - producer_only_test
292+ - integration_test
293+ - redis_cluster_test
294+ - reactive_integration_test
369295 runs-on : ubuntu-latest
370- env :
371- REDIS_RUNNING : " true"
372- USER_NAME : rqueue
373- TERM : dumb
374- JVM_OPTS : -Xmx8g
375296 steps :
376297 - name : Checkout
377298 uses : actions/checkout@v4
@@ -386,5 +307,21 @@ jobs:
386307 - name : Set up Gradle
387308 uses : gradle/actions/setup-gradle@v4
388309
389- - name : Generate coverage report
390- run : ./gradlew coverallsJacoco
310+ - name : Download coverage artifacts
311+ uses : actions/download-artifact@v4
312+ with :
313+ pattern : coverage-*
314+ path : coverage-artifacts
315+ merge-multiple : false
316+
317+ - name : Generate merged coverage report
318+ run : ./gradlew coverageReportOnly
319+
320+ - name : Upload coverage report
321+ uses : actions/upload-artifact@v4
322+ with :
323+ name : coverage-report
324+ path : |
325+ build/reports/jacoco/test/jacocoTestReport.xml
326+ build/reports/jacoco/coverageReportOnly/html
327+ if-no-files-found : ignore
0 commit comments