c21a1b855f
The per-file JUnit merge was walking `<testsuite>` tags by hand and closing on the first `</testsuite>` it found. Bun's junit reporter nests one `<testsuite>` per `describe` block inside an outer `<testsuite>` for the file itself, so the inner close was matched and the outer one got dropped. Every file contributed one unclosed `<testsuite>` to the merged output, pushing XML depth up until mikepenz/action-junit-report's sax parser failed with "Unexpected close tag" (and xmllint with "Excessive depth"). Switch to grabbing everything between the outer `<testsuites ...>` and `</testsuites>` of each file's XML — nested structure is preserved verbatim, no custom walking needed. Read aggregate counts from the root `<testsuites>` attributes so nested `tests="..."` attrs don't get double-counted either. Validated locally: `xmllint --noout` passes on the merged output for a mix of files with and without nested describes.