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

Reply via email to