Page MenuHomePhabricator

wikimedia/portals/deploy webdriver.io has to be updated in order to support NodeJS 12
Closed, ResolvedPublic

Description

The CI job for wikimedia/portals/deploy has been switched from NodeJS 10 to 12 as part of T284345. It fails to build when trying to compile fibers 2 against NodeJS 12. It seems we need to upgrade webdriver.io.

Event Timeline

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

[integration/config@master] Restore generic-node10-browser-docker

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

Change 700654 merged by jenkins-bot:

[integration/config@master] Restore generic-node10-browser-docker

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

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

[wikimedia/portals/deploy@master] (Do not merge) verify CI works on NodeJS 10

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

Change 700656 abandoned by Hashar:

[wikimedia/portals/deploy@master] (Do not merge) verify CI works on NodeJS 10

Reason:

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

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

[integration/config@master] Node12 job for portals/deploy repository

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

Change 700832 merged by jenkins-bot:

[integration/config@master] Node12 job for portals/deploy repository

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

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

[wikimedia/portals/deploy@master] Upgrade Webdriver from 4 to 5

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

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

[wikimedia/portals/deploy@master] selenium: properly exit 1 on wdio error

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

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

[wikimedia/portals/deploy@master] tests: fix chromium options

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

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

[integration/config@master] zuul: stop setting DISPLAY=:94

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

Change 700857 merged by jenkins-bot:

[integration/config@master] zuul: stop setting DISPLAY=:94

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

@Jdrewniak and @zeljkofilipin here is the patch series to fix up the wdio tests on wikimedia/portals/deploy. It fails on NodeJS 12 cause we have the dependency chain:

wdio-mocha-frameworkwdio-syncfibers@2

And fibers 2 can't compile against NodeJS 12, so we are forced to upgrade the whole dependency chain and thus update from Webdriver 4 to 5. There are a bunch of issues with the repo though, so there are a few patches:

  1. Inject --headless and or --no-sandbox. I thought it was automatically done somehow but clearly is not. I have copied those bits from wdio-mediawiki. https://gerrit.wikimedia.org/r/c/wikimedia/portals/deploy/+/700852
  2. npm run selenium would entirely ignore the exit code of wdio command and always exit 0. The shell oneliner does not abort immediately on failure and the pkill at the end always exit 0. I have changed it to use a shell trap: https://gerrit.wikimedia.org/r/c/wikimedia/portals/deploy/+/700845/ The node12 job now fails properly but it is non voting.
  3. Upgrade wdio from 4 to 5 https://gerrit.wikimedia.org/r/c/wikimedia/portals/deploy/+/700835

That makes it "work" under NodeJS 12.

I am not sure tests actually work, cause when I flip some boolean values in test.js the suite still pass and the it tests are not shown in the spec reporter. So it seems to me none of the tests are actually executed :-\

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

[integration/config@master] Switch portals/deploy to NodeJS 12

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

Change 700852 merged by jenkins-bot:

[wikimedia/portals/deploy@master] tests: fix chromium options

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

Change 700845 merged by jenkins-bot:

[wikimedia/portals/deploy@master] selenium: properly exit 1 on wdio error

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

@hashar thank you for looking into this and writing the upgrade patches. I'll look into the tests to see what's actually going on there.

Change 700911 merged by jenkins-bot:

[integration/config@master] Switch portals/deploy to NodeJS 12

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

I have waste a lot of time cause wdio.conf.js had sync: true but it was not taking effect since I forgot to add @wdio/sync as a dependency :-\ I have reordered the patches:

They both pass on CI now! :-]

Change 700835 merged by jenkins-bot:

[wikimedia/portals/deploy@master] Upgrade Webdriver from 4 to 5

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