CI View for JUnit-style XML (origin issue)
### Problem to solve <!-- What problem do we solve? --> **The user** needs a way to **more efficiently digest JUnit-style XML information** so that they **can find out why tests fail quicker**. ### Intended users <!-- Who will use this feature? If known, include any of the following: types of users (e.g. Developer), personas, or specific company roles (e.g. Release Manager). It's okay to write "Unknown" and fill this field in later. Personas can be found at https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/ --> ### Further details <!-- Include use cases, benefits, and/or goals (contributes to our vision?) --> GitLab CI/CD shows job log information, so you can dig into why tests fail, but it requires humans reading a bunch of text. Most languages/frameworks are able to output [JUnit XML](https://en.wikipedia.org/wiki/JUnit) (or xUnit, NUnit, PHPUnit, etc.) ### Proposal <!-- How are we going to solve the problem? Try to include the user journey! https://about.gitlab.com/handbook/journeys/#user-journey --> Implement a specific CI View (gitlab-ce#35379) for handling this kind of reports natively. For this specific view, we should consider if we can force `artifacts:when` to `always`, so we can get failed tests results as well. A test summary CI view which displays the following data for each failed test: * Test class * Test case name * Test status * Test run time * Stacktrace (containing failure type and failure message) * System Out * System error #### Future Iterations This JUnit XML epic https://gitlab.com/groups/gitlab-org/-/epics/187 contains the priority of iterations for the CI view. * Display the first time this job failed https://gitlab.com/gitlab-org/gitlab-ce/issues/46613 * We can determine which tests fail, not just which jobs (when a job runs many tests) * => We can display better summary information of failures * We can determine time taken for each test individually * => We can graph/analyze test durations over time * => We can use test duration to balance parallel jobs ### Permissions and Security <!-- What permissions are required to perform the described actions? Are they consistent with the existing permissions as documented for users, groups, and projects as appropriate? Is the proposed behavior consistent between the UI, API, and other access methods (e.g. email replies)? --> ### Documentation <!-- See the Feature Change Documentation Workflow https://docs.gitlab.com/ee/development/documentation/feature-change-workflow.html Add all known Documentation Requirements here, per https://docs.gitlab.com/ee/development/documentation/feature-change-workflow.html#documentation-requirements --> ### Testing <!-- What risks does this change pose? How might it affect the quality of the product? What additional test coverage or changes to tests will be needed? Will it require cross-browser testing? See the test engineering process for further guidelines: https://about.gitlab.com/handbook/engineering/quality/guidelines/test-engineering/ --> ### What does success look like, and how can we measure that? <!-- Define both the success metrics and acceptance criteria. Note that success metrics indicate the desired business outcomes, while acceptance criteria indicate when the solution is working correctly. If there is no way to measure success, link to an issue that will implement a way to measure this. --> ### Links / references <details> Original description: Hi, just wondering if there is a way for me to view the junit report in a nicer way, similar to eclipse junit report? This is my gitlab-ci.yml: ``` maven-build: script: - export DISPLAY=:99 - /etc/init.d/xvfb start - mvn clean package - /etc/init.d/xvfb stop - rm /var/log/Xvfb/Xvfb_std.log - rm /var/log/Xvfb/Xvfb_error.log - rm -rf /var/log/selenium/Xvfb.pid ``` Currently, if a build failed, I have to click on the build and check the logs. I'd like to have a webpage displays the junit result similar to eclipse . thanks </details>
issue