CI updates: Quibble on Stretch, and Headless Chrome 71

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

CI updates: Quibble on Stretch, and Headless Chrome 71

Krinkle
TL;DR:

* MediaWiki jobs now run on the same Debian OS version as wmf-production,
which makes make the wmf-quibble PHPUnit tests even more useful.
* The QUnit tests for MediaWiki repos now use Headless Chrome. (For other
repos, this was done last year.)

## Quibble HHVM now on Debian Stretch

Quibble is the Jenkins runner for MediaWiki-related repositories. Its
variants for php70 through php73 were already based on Debian 9
("Stretch"), with a recent Chromium version (Thanks Legotkm and Hashar!).
The HHVM variant, however, was still on Debian 8 ("Jessie"). This caused a
number of side effects:

* wmf-quibble-hhvm no longer matched wmf production (due to a different
operating system version). This could cause subtle differences in backend
behaviour to miss problems in our testing.
* Debian 8 provided an outdated version of Chromium (version 57), which is
no longer supported by Google, and actually had problems with its PKI-NSS
storage layer. These were fixed in later versions of Chromium.
* The Chromium versions differed between the hhvm and php7 jobs, because
the latter is provided by Debian 9 with Chrome 69. This could cause subtle
bugs that affected one job but not the other. It also precluded use of
Headless Chrome.

I've ported the Docker image for quibble-*-hhvm to Debian 9. The tests now
match wmf production, and our QUnit tests and browser tests now
consistently run against the same (recent) version of Chrome. Apart from
one test failure in the Navigation Timing extension, [1] all gated
repositories were verified and still pass.

## Headless Chrome

Since the stable release of Chromium 59 in 2017, this browser now comes
with a headless mode that starts and runs significantly faster than the
desktop variant.

Most of our non-mediawiki repositories only had Jenkins jobs using the
newer Debian 9 (with Chrome 69), and thus were already enjoying the speed
of Headless Chrome.

Now that quibble-hhvm is upgraded to Debian 9, which comes with Chrome 69,
the MediaWiki tests can use Headless Chrome as well. [2]

I've also rebuild the quibble jobs again with another round of Debian 9
package updates, which further upgrades Chromium from 69 to 71.

Happy testing!

-- Timo Tijhof

[1] https://phabricator.wikimedia.org/T215714 –
1 test failing within ext.navigationTiming (temporary disabled).

[2] https://gerrit.wikimedia.org/r/#/c/mediawiki/core/+/486188/ –
build: Use Headless Chrome for karma-qunit tests.
_______________________________________________
Wikitech-l mailing list
[hidden email]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l