Page MenuHomePhabricator

Remove JUnit artefacts from Quibble jobs
Closed, ResolvedPublic

Description

I believe their utility has been superseded by several things:

  • Failing tests are detailed in the build output, without navigating through JUnit a report.
    • If there are any deficiencies there, we should identify and fix them because afaik most if not all developers look solely at the phpunit build output to understand failing tests. Both locally during development, and in WMF CI. Also in other CI (GitLab, Travis, GitHub) focus has been for many years on improving the console formatting. There is very little momentum behind facciliating HTML-based GUIs for continuous integration.
  • Slow tests are reported in the build output (thanks to SpeedTrapListener).
    • I know a few of us used to find these by sorting the JUnit report tables, but the SpeedTrapListener report seems to have superseded this.
  • We run tests pre-merge and disallow merging of failing tests.
    • This means much of Jenkins' JUnit viewer's capabilities don't work or produce incorrect/deceptive information. E.g. about a test having recovered or improved to run faster, because it is comparing them to an unrelated previous CI build for another repo/branch/commit.

Removing them is motivated by T228158. According to @hashar, the biggest consumer of space is Quibble builds which in turn is dedicating most of its space to the JUnit files from PHPUnit.

Event Timeline

Krinkle renamed this task from Remove jUnit artefacts from Quibble jobs to Remove JUnit artefacts from Quibble jobs.Jun 25 2020, 5:25 PM

phpunit generating Junit reports is hard wired inside Quibble

Change 730211 had a related patch set uploaded (by Hashar; author: Hashar):

[integration/quibble@master] Disable PHPUnit Junit report by default

https://gerrit.wikimedia.org/r/730211

Change 730211 merged by jenkins-bot:

[integration/quibble@master] Disable PHPUnit Junit report by default

https://gerrit.wikimedia.org/r/730211

That is moved behind a feature flag option --phpunit-junit which defaults to False.

Change 734211 had a related patch set uploaded (by Hashar; author: Hashar):

[integration/quibble@master] Release Quibble 1.2.0

https://gerrit.wikimedia.org/r/734211

Change 734211 merged by jenkins-bot:

[integration/quibble@master] Release Quibble 1.2.0

https://gerrit.wikimedia.org/r/734211

Released in Quibble 1.2.0

It is now pending deployment to CI and dropping the junit configuration from integration/config

Change 736240 had a related patch set uploaded (by Hashar; author: Hashar):

[integration/config@master] jjb: switch jobs to Quibble 1.2.0

https://gerrit.wikimedia.org/r/736240

Change 736240 merged by jenkins-bot:

[integration/config@master] jjb: switch jobs to Quibble 1.2.0

https://gerrit.wikimedia.org/r/736240

Change 736812 had a related patch set uploaded (by Hashar; author: Hashar):

[integration/config@master] jjb: stop JUnit capturing for donationinterface

https://gerrit.wikimedia.org/r/736812

Change 736812 merged by jenkins-bot:

[integration/config@master] jjb: stop JUnit capturing for donationinterface

https://gerrit.wikimedia.org/r/736812

Quibble 1.2.0 has been rolled to CI.

The donationinterface job failed since it had a junit reporter that required the files to be present unlike the other Quibble jobs. That has been addressed by https://gerrit.wikimedia.org/r/736812

We can now cleanup the rest of the Quibble jobs to drop the junit reporter. Tagging Continuous-Integration-Config for that.

Change 736851 had a related patch set uploaded (by Hashar; author: Hashar):

[integration/config@master] jjb: stop capturing PHPUnit Junit files

https://gerrit.wikimedia.org/r/736851

Change 736851 merged by jenkins-bot:

[integration/config@master] jjb: stop capturing PHPUnit Junit files

https://gerrit.wikimedia.org/r/736851

The JUnit reports are no more generated and no more captured.