jenkins-bot has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/394340 )
Change subject: Migrate npm-browser-test to Debian Stretch ...................................................................... Migrate npm-browser-test to Debian Stretch Jessie is no more receiving updates for Chromium which is quite a blocker. Firefox is also outdated there. Migrate npm-browser-test to Debian Stretch Add Chromium v62, Firefox v52 (ESR) Firefox insists on creating dummy files in ~/.mozilla, however we run as user nobody with HOME=/nonexistent (a non existent directory). Provide a wrapper to point to /tmp/firefox. Make sure karma-firefox-launcher by setting FIREFOX_BIN=/usr/local/bin/firefox. https://github.com/karma-runner/karma-firefox-launcher/issues/28 When using Karma, developers usually set the browser to "Chrome" which is not available in Debian. Trick the karma-launcher-chrome into thinking Chromium is Chrome by setting CHROME_BIN=/usr/bin/chromium Chromium attempts to create namespaces (sandboxing) which is not permitted by Docker unless a container is running in privileged mode. Thus ask Chromium to disable the sandboxing feature via: CHROMIUM_FLAGS="--no-sandbox" That is recognized by the /usr/bin/chromium shell wrapper provided in Debian. Switch {name}-npm-browser-node-6-docker to the new image. Affects: data-values/value-view mediawiki/extensions/ArticlePlaceholder wikibase/javascript-api Update jobs: mwgate-npm-browser-node-6-docker wikibase-javascript-api-npm-browser-node-6-docker Bug: T179360 Change-Id: I0f24bb3a2bd6602424241d62c0b0f1de68e286cf --- M dockerfiles/npm-browser-test/Dockerfile A dockerfiles/npm-browser-test/firefox M jjb/job-templates.yaml 3 files changed, 26 insertions(+), 3 deletions(-) Approvals: Hashar: Looks good to me, approved jenkins-bot: Verified diff --git a/dockerfiles/npm-browser-test/Dockerfile b/dockerfiles/npm-browser-test/Dockerfile index 866f3dd..c09aec9 100644 --- a/dockerfiles/npm-browser-test/Dockerfile +++ b/dockerfiles/npm-browser-test/Dockerfile @@ -1,14 +1,30 @@ -FROM wmfreleng/npm-test:latest +FROM wmfreleng/npm-test-stretch:latest USER root RUN apt-get update && \ apt-get install --yes \ + chromium \ + firefox-esr \ phantomjs \ xvfb \ && \ apt-get clean && rm -rf /var/lib/apt/lists/* +COPY firefox /usr/local/bin/firefox + USER nobody ENV DISPLAY=:94 + +# For karma-chrome-launcher +# +# Developers usually configure Chrome, so point it to Chromium +ENV CHROME_BIN=/usr/bin/chromium +# Firefox wrapper introduced above to set HOME to a writable directory +ENV FIREFOX_BIN=/usr/local/bin/firefox + +# Can't change namespaces inside an unprivileged container, then we are already +# in a namespace so just disable Chromium sandboxing +ENV CHROMIUM_FLAGS="--no-sandbox" + COPY run-with-xvfb.sh /run-with-xvfb.sh ENTRYPOINT ["/run-with-xvfb.sh"] diff --git a/dockerfiles/npm-browser-test/firefox b/dockerfiles/npm-browser-test/firefox new file mode 100755 index 0000000..e00b015 --- /dev/null +++ b/dockerfiles/npm-browser-test/firefox @@ -0,0 +1,8 @@ +#!/bin/sh +# Firefox always write to $HOME/.mozilla which is not available to the nobody +# user. Provide a basic wrapper that points HOME to a temp directory. +# See https://github.com/karma-runner/karma-firefox-launcher/issues/28 +HOME=/tmp/firefox +export HOME +exec /usr/bin/firefox "$@" + diff --git a/jjb/job-templates.yaml b/jjb/job-templates.yaml index b64e246..0edbd28 100644 --- a/jjb/job-templates.yaml +++ b/jjb/job-templates.yaml @@ -196,11 +196,10 @@ - job-template: !!merge : *job_npm-node-6-docker name: '{name}-npm-browser-node-6-docker' - docker_image_var: 'wmfreleng/npm-browser-test:v2017.11.24.13.40' + docker_image_var: 'wmfreleng/npm-browser-test:v2017.12.01.11.32' # Reinject Zuul parameters since JJB strip for some reason triggers: - zuul - # A very specific job for MobileFrontend which uses a JavaScript test suite # which requires mediawiki/core. -- To view, visit https://gerrit.wikimedia.org/r/394340 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I0f24bb3a2bd6602424241d62c0b0f1de68e286cf Gerrit-PatchSet: 6 Gerrit-Project: integration/config Gerrit-Branch: master Gerrit-Owner: Hashar <[email protected]> Gerrit-Reviewer: Hashar <[email protected]> Gerrit-Reviewer: Krinkle <[email protected]> Gerrit-Reviewer: Legoktm <[email protected]> Gerrit-Reviewer: Paladox <[email protected]> Gerrit-Reviewer: Thcipriani <[email protected]> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
