Commit 453e192
ci: Optimize coverage workflow with hierarchical merging and test splitting
This commit improves the coverage collection workflow to handle disk space
constraints and optimize artifact transfers.
Changes to coverage workflow:
- Add pull_request trigger for testing before merge
- Split tests across 4 runners using pytest-test-groups (2 per DB type)
- Add local .profraw aggregation per runner before upload
- Merge aggregated .profdata files in report job
- Delete raw .profraw files after local merge to free disk space
Coverage scripts and documentation:
- Add 6 coverage collection scripts to git (were previously gitignored)
- Fix .gitignore to use /coverage instead of coverage pattern
- Add comprehensive README.md with workflow documentation
- Include mermaid diagram showing complete CI/CD flow
- Document all scripts, usage patterns, and troubleshooting
Benefits:
- Reduced disk usage per runner: ~25GB → ~15GB
- Reduced artifact count: 4000+ files → 4 files
- Reduced artifact size: ~20GB → ~2GB
- Faster artifact upload/download: ~30min → ~5min
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <[email protected]>1 parent c8cd8a9 commit 453e192
File tree
9 files changed
+929
-1
lines changed- .github/workflows
- contrib/coverage
9 files changed
+929
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
155 | 155 | | |
156 | 156 | | |
157 | 157 | | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
158 | 161 | | |
159 | 162 | | |
160 | 163 | | |
| |||
229 | 232 | | |
230 | 233 | | |
231 | 234 | | |
| 235 | + | |
232 | 236 | | |
233 | 237 | | |
234 | 238 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
26 | | - | |
| 26 | + | |
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
| |||
0 commit comments