Page MenuHomePhabricator

Setup QUnit tests on Jenkins for Flow
Closed, ResolvedPublic

Description

Flow has QUnit tests but it fails to run them on merge.
Let's fix that asap.


Version: wmf-deployment
Severity: enhancement

Details

Reference
bz67734

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 22 2014, 3:30 AM
bzimport set Reference to bz67734.
bzimport added a subscriber: Unknown Object (MLST).

Change 145251 had a related patch set uploaded by Hashar:
qunit job for Flow

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

Change 145252 had a related patch set uploaded by Hashar:
qunit job for Flow

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

Change 145252 merged by jenkins-bot:
qunit job for Flow

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

Change 145253 had a related patch set uploaded by Hashar:
Make Flow qunit job non voting

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

Change 145253 merged by jenkins-bot:
Make Flow qunit job non voting

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

The qunit job has 4 assertions failing https://integration.wikimedia.org/ci/job/mwext-Flow-qunit/1/console

It is now triggered when a patch is proposed but I make the job non voting with https://gerrit.wikimedia.org/r/145253 . Once qunit pass, one can revert https://gerrit.wikimedia.org/r/145253 and get it deployed on gallium + zuul being reloaded and it will vote again :)

Change 145251 merged by jenkins-bot:
qunit job for Flow

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

You're a superstar! I have no idea why they are failing though. They pass fine for me locally... any ideas?

Oh I would be a superstar if I had proposed a patch to fix all of the tests :-D

The job is setup to fetch some dependencies: AbuseFilter,SpamBlacklist,CheckUser,Mantle

Now with the errors:

00:00:11.640 MobileFrontend view - global failure...ERROR
00:00:11.641 >> Message: TypeError: 'undefined' is not a function (evaluating 'mw.user.isAnon()')
00:00:11.641 >> http://localhost:9412/jenkins-mwext-Flow-qunit-1/load.php?debug=false&lang=en&modules=ext.flow.new%2Ctemplating%7Cext.flow.new.handlebars%2Chistory%7Cext.flow.vendor.jquery.ba-throttle-debounce%7Cext.flow.vendor.storer%7Cjquery.conditionalScroll&skin=vector&version=20140710T084851Z&*:13

Seems like it is a badly named test in Mantle. Would indicate that we should add MobileFrontend as a dependency.


00:00:22.936 mediawiki.util - $content...ERROR
00:00:22.937 >> Message: mw.util.$content instance of jQuery
<snip>
00:00:22.942 >> TypeError: 'null' is not an object (evaluating 'mw.util.$content.length')

That one I have no clue.

Change 145405 had a related patch set uploaded by Hashar:
Flow qunit job depends on MobileFrontend

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

Change 145405 merged by jenkins-bot:
Flow qunit job depends on MobileFrontend

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

MobileFrontend is not a dependency... the test that seems to fail is in core which is what is confusing me.

Out of interest shouldn't we just run tests against the Flow group?

Out of interest shouldn't we just run tests against the Flow group?

I don't think we can do that. We will middle term have a common qunit job for all extensions, making sure they don't break each others :-D

MobileFrontend is not a dependency... the test that seems to fail is in core which is what is confusing me.

Maybe you are exercise a part of core code which is not covered by core qunit tests ? Or the hooks are playing in :-(

We would need a way to reproduce the issue reliably so it can be investigated.

The tests are still failing for me and it seems unrelated to MobileFrontend.. an issue in mediawiki.util https://integration.wikimedia.org/ci/job/mwext-Flow-qunit/82/console

I think MobileFrontend can safely be dropped as a dependency.

According to Bug 68188 - "core mediawiki.util test failing in Flow qunit Jenkins jobs", the job is passing now.

One should edit Zuul configuration file in ssh://gerrit.wikimedia.org:29418/integration/zuul-config.git and drop the block:

  • name: ^mwext-Flow-qunit$ # bug 67734 voting: false

Then review / merge / deploy on gallium as usual :-)

You can make this happen now.
It might motivate people to merge the other patch ;-)

Change 148244 had a related patch set uploaded by Jdlrobson:
Make Flow QUnit tests voting

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

Change 148244 merged by jenkins-bot:
Make Flow QUnit tests voting

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