Page MenuHomePhabricator

Quibble does not install ffmpeg
Closed, ResolvedPublic

Description

TODO

🏠 452703: ffmpeg is needed for recording videos of Selenium tests
🏝 Test with instructions from Blog Post: Run Selenium tests using Quibble and Docker
🏠 Continuous integration/Docker#Publishing docker-pkg images

Done

⚰️ 451645: Install ffmpeg needed for recording videos of Selenium tests

Description

For T179188: Video recording for Selenium tests in Node.js I need ffmpeg to record videos of Selenium test runs.

Example for 422933 (from wmf-quibble-core-vendor-mysql-hhvm-docker/333):

12:57:44 ------------------------------------------------------------------
12:57:44 [chrome #0-0] Session ID: 3c7838936bf567555eec4b13d8b1e3ec
12:57:44 [chrome #0-0] Spec: /workspace/src/tests/selenium/wdio-mediawiki/specs/BlankPage.js
12:57:44 [chrome #0-0] Running: chrome
12:57:44 [chrome #0-0]
12:57:44 [chrome #0-0]   BlankPage
12:57:44 [chrome #0-0]
12:57:44 [chrome #0-0]   BlankPage
12:57:44 [chrome #0-0]       1) "before each" hook
12:57:44 [chrome #0-0]
12:57:44 [chrome #0-0]
12:57:44 [chrome #0-0] 1 failing (3s)
12:57:44 [chrome #0-0]
12:57:44 [chrome #0-0] 1) BlankPage "before each" hook:
12:57:44 [chrome #0-0] spawn ffmpeg ENOENT
12:57:44 [chrome #0-0] Error: spawn ffmpeg ENOENT
12:57:44 [chrome #0-0]     at exports._errnoException (util.js:1018:11)
12:57:44 [chrome #0-0]     at Process.ChildProcess._handle.onexit (internal/child_process.js:193:32)
12:57:44 [chrome #0-0]     at onErrorNT (internal/child_process.js:367:16)
12:57:44 [chrome #0-0]     at _combinedTickCallback (internal/process/next_tick.js:80:11)
12:57:44 [chrome #0-0]     at process._tickDomainCallback (internal/process/next_tick.js:128:9)
12:57:44 [chrome #0-0]
12:57:44 
12:57:48 [12:57:48]  	Saved screenshot: ERROR_chrome_2018-08-08T12-57-47.906Z.png
12:57:48 Error: EACCES: permission denied, open '/logPage-should-be-creatable.png'
12:57:48     at Object.wait (/workspace/src/node_modules/fibers/future.js:449:15)
12:57:48     at Object.saveScreenshot (/workspace/src/node_modules/wdio-sync/build/index.js:283:31)
12:57:48     at Object.afterTest (/workspace/src/tests/selenium/wdio.conf.js:190:11)
12:57:48     at execHook (/workspace/src/node_modules/wdio-sync/build/index.js:162:35)
12:57:48     - - - - -
12:57:48     at url("http://127.0.0.1:9412//index.php?action=edit&title=BeforeEach-name-0.5561081455396708-I%C3%B1t%C3%ABrn%C3%A2ti%C3%B4n%C3%A0liz%C3%A6ti%C3%B8n") - index.js:312:3
12:57:50 ------------------------------------------------------------------

Event Timeline

hashar moved this task from Backlog to Enhancement on the Quibble board.Apr 27 2018, 9:47 PM
zeljkofilipin triaged this task as High priority.Aug 8 2018, 1:03 PM
zeljkofilipin updated the task description. (Show Details)Aug 8 2018, 1:07 PM
greg added a subscriber: greg.Aug 8 2018, 4:39 PM

https://gerrit.wikimedia.org/r/plugins/gitiles/integration/quibble/+/master/Dockerfile#59 for probably where to add it (that looks like browser test related dependencies section)

Change 451645 had a related patch set uploaded (by Zfilipin; owner: Zfilipin):
[integration/quibble@master] Install xvfb needed for recording videos of Selenium tests

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

https://gerrit.wikimedia.org/r/plugins/gitiles/integration/quibble/+/master/Dockerfile#59 for probably where to add it (that looks like browser test related dependencies section)

Thanks!

zeljkofilipin updated the task description. (Show Details)Aug 9 2018, 2:56 PM
zeljkofilipin updated the task description. (Show Details)Aug 9 2018, 3:38 PM
zeljkofilipin updated the task description. (Show Details)
zeljkofilipin updated the task description. (Show Details)Aug 9 2018, 3:40 PM

Change 452703 had a related patch set uploaded (by Zfilipin; owner: Zfilipin):
[integration/config@master] ffmpeg is needed for recording videos of Selenium tests

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

Change 451645 abandoned by Zfilipin:
Install ffmpeg needed for recording videos of Selenium tests

Reason:
Moved to https://gerrit.wikimedia.org/r/c/integration/config/ /452703

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

Change 452703 merged by jenkins-bot:
[integration/config@master] ffmpeg is needed for recording videos of Selenium tests

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

The CI containers now have ffmpeg. Versions are:

  • docker-registry.discovery.wmnet/releng/quibble-stretch:0.0.21-7
  • docker-registry.discovery.wmnet/releng/quibble-jessie:0.0.21-2
  • docker-registry.discovery.wmnet/releng/quibble-jessie-hhvm:0.0.21-1
  • docker-registry.discovery.wmnet/releng/quibble-jessie-php55:0.0.21-1
hashar closed this task as Resolved.Aug 28 2018, 7:40 AM

I have confirmed ffmpeg is indeed in the containers. Version 3.2.12 for Stretch and version 3.2.10 for Jessie.