Commit d58de79
committed
Fix coverage aggregation in parallel test workflow
Problem:
The aggregate-coverage job was failing because koverXmlReportMergedCoverage
requires all tests to have run in the same Gradle session. When tests are
split across separate jobs, Kover has no test execution data to merge.
Root Cause:
- Kover collects binary coverage data during test execution
- koverXmlReportMergedCoverage merges this data from the current build
- In parallel jobs, the aggregation job never ran any tests
- Result: No coverage data to merge, causing exit code 1
Solution:
1. Each test job now generates its own XML coverage report immediately
after running tests:
- test-libraries: koverXmlReportDebug for each library module
- test-app: koverXmlReportStandardDebug
- test-authenticator: koverXmlReportDebug
2. Coverage artifacts now contain XML reports, not just binary data
3. Aggregation job simplified:
- Remove Fastlane/Ruby setup (no longer needed)
- Download all coverage-* artifacts
- Upload entire coverage-reports/ directory to codecov
- Codecov automatically merges multiple XML files
Benefits:
- Each module's coverage is captured independently
- No dependency on cross-job Gradle state
- Codecov handles merging (tested and reliable)
- Simpler, more maintainable workflow
Technical Details:
- Kover generates XML reports at: module/build/reports/kover/report*.xml
- Codecov action with directory parameter finds all XML files recursively
- disable_search=false allows automatic file discovery1 parent d6a5f5b commit d58de79
1 file changed
+19
-34
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
113 | 113 | | |
114 | 114 | | |
115 | 115 | | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
116 | 122 | | |
117 | 123 | | |
118 | 124 | | |
| |||
184 | 190 | | |
185 | 191 | | |
186 | 192 | | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
187 | 198 | | |
188 | 199 | | |
189 | 200 | | |
| |||
243 | 254 | | |
244 | 255 | | |
245 | 256 | | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
246 | 262 | | |
247 | 263 | | |
248 | 264 | | |
| |||
285 | 301 | | |
286 | 302 | | |
287 | 303 | | |
288 | | - | |
289 | | - | |
290 | | - | |
291 | | - | |
292 | | - | |
293 | | - | |
294 | | - | |
295 | | - | |
296 | | - | |
297 | | - | |
298 | | - | |
299 | | - | |
300 | | - | |
301 | | - | |
302 | | - | |
303 | | - | |
304 | | - | |
305 | 304 | | |
306 | 305 | | |
307 | 306 | | |
308 | 307 | | |
309 | | - | |
310 | | - | |
311 | | - | |
312 | | - | |
313 | | - | |
314 | | - | |
315 | | - | |
316 | | - | |
317 | | - | |
318 | | - | |
319 | | - | |
320 | | - | |
321 | | - | |
322 | | - | |
323 | | - | |
| 308 | + | |
324 | 309 | | |
325 | 310 | | |
326 | 311 | | |
| |||
329 | 314 | | |
330 | 315 | | |
331 | 316 | | |
332 | | - | |
| 317 | + | |
333 | 318 | | |
334 | | - | |
| 319 | + | |
335 | 320 | | |
336 | 321 | | |
337 | 322 | | |
| |||
0 commit comments