Parse junit.xml.gz and calculate the difference between head and base
What does this MR do?
This MR does the following things
- It gives an ability to stream (single/concatenated) Gunzip file.
- It gives an ability to parse JUnit format XML.
- It gives an ability to struct
TestReportsunder each pipeline.
- It gives an ability to compare two
TestReportsand calculate three type of results - new failures, resolved failures, and existing failures.
SELECT COUNT(*) FROM "ci_job_artifacts" WHERE "ci_job_artifacts"."job_id" = $1 AND "ci_job_artifacts"."file_type" = 4 ..during collecting test reports
- Performance check with 1000 report. 1. memory usage, 2. timings, 3. executed queries
- Remove test codes from fixtures
- status: 'success/failed', every level, everywhere
expose :statuswhich is gonna be
- Use ReactiveCache worker (ttl: 1h)
execution_timeto be in floats
Merge the base BE MR
After merged the MR, switch the target branch in !20576 (merged) to
- After merged the MR, switch the target branch in !20576 (merged) to
- Write Unit specs
- Write integration specs
- [-] Write feature specs => This will be on top of !20972 (closed)
the end-goal (Each MR is based on the previous MR)The list of merge requests for
- Extend gitlab-ci.yml to request junit.xml test reports
- Parse junit.xml.gz and calculate the difference between head and base
- Frontend code for "JUnit XML Test Summary In MR widget"
Does this MR meet the acceptance criteria?
- Changelog entry added, if necessary
- [-] Documentation created/updated => #49867 (closed)
- Tests added for this feature/bug
- Conforms to the code review guidelines
- Has been reviewed by a Backend maintainer
End-to-end tests pass (
package-and-qamanual pipeline job)
What are the relevant issue numbers?
Related #45318 (closed)