andreas-weber/php-junit-merge
A PHP tool for merging multiple JUnit XML test reports into one file, simplifying consolidation of results from parallel test runs and CI jobs. Useful for build pipelines that need a single combined JUnit report.
<testsuite>/<testcase>, re-emit). Deciding to adopt a 12-star, last-released-2021 dependency vs. a 30-line internal merge script is a genuine decision this package forces — and the answer is not obviously "adopt."--coverage / php-code-coverage territory), flaky-test detection, or historical trend analysis. Don't let stakeholders infer those.Adopt (or vendor/fork) only when all of these hold:
junit-merge/xunit-viewer-style external binary.Look elsewhere (or write ~50 lines ourselves) when:
artifacts:reports:junit accepts multiple files; many reporters accept globs/tabs). Then adding a PHP dependency is pure overhead.To executives: This is a small, MIT-licensed utility that merges JUnit XML test reports — it does not test anything itself. Its value is purely in making our CI test results legible as a single signal per pull request, which shortens the loop between "build went red" and "here's what failed." It is not a strategic dependency: low stars, no release since 2021, tiny surface area. Recommendation: treat it as a cheap, reversible, pin-and-isolate component — or replace it with a small in-house merge step — and do not build roadmap commitments on top of it.
To engineering: One job: read multiple JUnit XML files, combine the suites, write one file. That's it. Benefits are real if we shard tests or collect reports from PHPUnit/Pest/PHPStan/Infection; costs are a dormant dependency in the CI path. Ask for: (1) a spike confirming it handles our PHP version and suite shapes, (2) a version pin plus a wrapper so swapping it out is a one-line change, (3) a fallback of ~50 lines of DOMDocument code if the spike disappoints. Ship it behind our CI templates, not scattered across repos — consolidation is the whole point, and a merge step per-repo defeats it.
How can I help you explore Laravel packages today?