Waiting "forever" to see the unit test report of a Gitlab CI job

I am trying to see results of about 17000 JUnit tests (maven/surefire) of a Gitlab CI job. The job itself has finished. Artifacts are being kept for a week.

  artifacts:
    expire_in: 1 week
    reports:
      junit: "**/target/surefire-reports/*.xml"

On the pipeline page I open the tests tab, then click the job name. A circle keeps spinning “forever” - see screenshot.

Am I doing something wrong?

Thanks for help,
Wim

Thanks for the post @wim.meeus!

If this is on a self hosted instance which version of GitLab and runners are you current using? There have been some improvements to the parsing for JUnit reports to avoid this situation.

If it is on a gitlab.com project could you share a link if possible so we can take a look?

Thanks!

-James H, GitLab Product Manager, Verify:Testing

Hi James

We have a self hosted instance of Gitlab, premium plan. Version information:

  • GitLab 13.6.2-ee (98aab73cbd5)
  • GitLab Shell13.13.0
  • GitLab Workhorsev8.54.0
  • GitLab APIv4
  • Ruby2.7.2p137
  • Rails6.0.3.3
  • PostgreSQL11.9
  • Redis5.0.9
  • Gitlab runner 13.6.0

Do you think that an upgrade would help?

Thanks,
Wim

Update - the problem seems to be browser related. Chrome apparently can’t render the results (seems to give up after less than a minute), but a freshly started copy of Firefox with only one open tab can render the table in about 70 seconds while using over 7G of memory.

Is there a way to view test results hierarchically (to avoid rendering a table with 17k+ entries)? Our tests are grouped in about 38 sub-projects / xml result files.

@wim.meeus - My next suggestion was going to be splitting up the tests to different jobs which will make them load more quickly but they will be organized by the job they ran in. The feature brings all those xml files together if they are generated in the same job into that single view.

It looks like from your initial screenshot you are running this in a Merge Request. The Test Summary on that page may be a better view for you as it is only the tests that have changed (new failures or new fixes) displayed. This is a comparison to the report from the target pipeline so i’d expect it to take some time to load as well though.

We always welcome new feature suggestions if I’ve misunderstood and there’s a different outcome you are looking for from this feature just tag me (@jheimbuck_gl). Hopefully this helps!

-JH

@jheimbuck_gl - Thanks for your suggestion. At this point we can’t split up the tests. We’re even running the build and the test in a single job because we have too many intermediate build artifacts (order of 1-2 Gb) which are needed for testing but which we don’t want to save as artifacts when the pipeline finishes.

Is there a way to pass build artifacts between jobs of a pipeline without having to store them after the pipeline finishes? That would enable us to split our current do-everything job into a build job and a number of test jobs.

The Test Summary may be a solution for MR pipelines but probably not for branch pipelines?