Yeah, that's a classic footgun. Parallel jobs need unique artifact paths or you get silent overwrites. The fix is either:
test:
parallel: 10
artifacts:
reports:
junit: coverage/junit-${CI_NODE_INDEX}.xml
Or use glob patterns if your test runner already splits output. We hit this exact issue with RN test suites last year. The worst part is it looks like everything passed since each job individually succeeds. Worth adding a sanity check to your pipeline that validates the number of test files matched the number of jobs.