diff options
Diffstat (limited to 'testing/web-platform/tests/tools/docker/Dockerfile')
-rw-r--r-- | testing/web-platform/tests/tools/docker/Dockerfile | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/testing/web-platform/tests/tools/docker/Dockerfile b/testing/web-platform/tests/tools/docker/Dockerfile new file mode 100644 index 0000000000..73db146999 --- /dev/null +++ b/testing/web-platform/tests/tools/docker/Dockerfile @@ -0,0 +1,110 @@ +FROM ubuntu:20.04 + +# No interactive frontend during docker build +ENV DEBIAN_FRONTEND=noninteractive \ + DEBCONF_NONINTERACTIVE_SEEN=true + +# General requirements not in the base image +RUN apt-get -qqy update \ + && apt-get -qqy install \ + bridge-utils \ + bzip2 \ + ca-certificates \ + curl \ + dbus-x11 \ + earlyoom \ + fluxbox \ + gdebi \ + git \ + glib-networking-services \ + gstreamer1.0-plugins-bad \ + gstreamer1.0-gl \ + libosmesa6-dev \ + libproxy1-plugin-webkit \ + libvirt-daemon-system \ + libvirt-clients \ + libunwind8 \ + libxcb-shape0-dev \ + locales \ + openjdk-8-jre-headless \ + pulseaudio \ + python3 \ + python3-dev \ + python3-pip \ + software-properties-common \ + qemu-kvm \ + tzdata \ + sudo \ + unzip \ + wget \ + xvfb + +# Ensure all Python versions are available +RUN apt-add-repository -y ppa:deadsnakes/ppa + +# Ensure a `python` binary exists +RUN apt-get -qqy update \ + && apt-get install -qqy python-is-python3 + +# Installing just the deps of firefox and chrome is moderately tricky, so +# just install the default versions of them, and some extra deps we happen +# to know that chrome requires + +RUN apt-get -qqy install \ + firefox \ + libnss3-tools \ + fonts-liberation \ + indicator-application \ + libappindicator1 \ + libappindicator3-1 \ + libdbusmenu-gtk3-4 \ + libindicator3-7 \ + libindicator7 + +RUN apt-get -y autoremove + +RUN pip install --upgrade pip +RUN pip install virtualenv + +ENV TZ "UTC" +RUN echo "${TZ}" > /etc/timezone \ + && dpkg-reconfigure --frontend noninteractive tzdata + +# Set the locale +RUN locale-gen en_US.UTF-8 +ENV LANG en_US.UTF-8 +ENV LANGUAGE en_US:en +ENV LC_ALL en_US.UTF-8 + +RUN useradd test \ + --shell /bin/bash \ + --create-home \ + && usermod -a -G sudo test \ + && usermod -a -G libvirt test \ + && usermod -a -G libvirt-qemu test \ + && echo 'ALL ALL = (ALL) NOPASSWD: ALL' >> /etc/sudoers \ + && echo 'test:secret' | chpasswd + +ENV SCREEN_WIDTH 1280 +ENV SCREEN_HEIGHT 1024 +ENV SCREEN_DEPTH 24 +ENV DISPLAY :99.0 + +USER test + +WORKDIR /home/test + +# Remove information on how to use sudo on login +RUN sudo echo "" + +RUN mkdir -p /home/test/artifacts +RUN mkdir -p /home/test/bin + +ENV PATH="/home/test/bin:/home/test/.local/bin:${PATH}" + +WORKDIR /home/test/ + +COPY .bashrc /home/test/.bashrc + +COPY start.sh /home/test/start.sh +COPY retry.py /home/test/bin/retry |