tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

Dockerfile (3409B)


      1 FROM          $DOCKER_IMAGE_PARENT
      2 MAINTAINER    Edwin Takahashi <egao@mozilla.com>
      3 
      4 # Create necessary directories
      5 RUN     mkdir -p /artifacts
      6 
      7 # We need to declare all potentially cache volumes as caches. Also,
      8 # making high I/O paths volumes increase I/O throughput because of
      9 # AUFS slowness.
     10 VOLUME  /builds/worker/.task-cache/npm
     11 VOLUME  /builds/worker/.task-cache/pip
     12 VOLUME  /builds/worker/.task-cache/uv
     13 VOLUME  /builds/worker/checkouts
     14 VOLUME  /builds/worker/tooltool-cache
     15 VOLUME  /builds/worker/workspace
     16 
     17 # In test.sh we accept START_VNC to start a vnc daemon.
     18 # Exposing this port allows it to work.
     19 EXPOSE  5900
     20 
     21 # %include python/mozbuild/mozbuild/action/tooltool.py
     22 ADD topsrcdir/python/mozbuild/mozbuild/action/tooltool.py /setup/tooltool.py
     23 
     24 # %include taskcluster/docker/recipes/common.sh
     25 ADD topsrcdir/taskcluster/docker/recipes/common.sh /setup/common.sh
     26 
     27 # %include taskcluster/docker/recipes/install-node.sh
     28 ADD topsrcdir/taskcluster/docker/recipes/install-node.sh /setup/install-node.sh
     29 
     30 # Add wrapper scripts for xvfb allowing tasks to easily retry starting up xvfb
     31 # %include taskcluster/docker/recipes/xvfb.sh
     32 ADD topsrcdir/taskcluster/docker/recipes/xvfb.sh /builds/worker/scripts/xvfb.sh
     33 
     34 ADD topsrcdir/python/mozbuild/mozbuild/action/tooltool.py /builds/worker/scripts/tooltool.py
     35 
     36 # %include build/psutil_requirements.txt
     37 ADD topsrcdir/build/psutil_requirements.txt /setup/psutil_requirements.txt
     38 # %include taskcluster/docker/recipes/ubuntu1804-test-system-setup.sh
     39 ADD topsrcdir/taskcluster/docker/recipes/ubuntu1804-test-system-setup.sh /setup/system-setup.sh
     40 RUN     bash /setup/system-setup.sh
     41 
     42 # %include taskcluster/scripts/tester/test-linux.sh
     43 ADD topsrcdir/taskcluster/scripts/tester/test-linux.sh /builds/worker/bin/test-linux.sh
     44 
     45 # Set variable normally configured at login, by the shells parent process, these
     46 # are taken from GNU su manual
     47 ENV     LANG            en_US.UTF-8
     48 ENV     LC_ALL          en_US.UTF-8
     49 ENV     PATH            $PATH:/builds/worker/bin
     50 
     51 # This helps not forgetting setting DISPLAY=:0 when running
     52 # tests outside of test.sh
     53 ENV DISPLAY :0
     54 
     55 # Add utilities and configuration
     56 COPY    dot-files/config        /builds/worker/.config
     57 
     58 # Disable apport (app crash reporter) to avoid stealing focus from test runs
     59 ADD apport /etc/default/apport
     60 
     61 # Disable font antialiasing for now to match releng's setup
     62 ADD fonts.conf /builds/worker/.fonts.conf
     63 
     64 # Bug 1345105 - Do not run periodical update checks and downloads
     65 ADD autostart/gnome-software-service.desktop /etc/xdg/autostart/
     66 
     67 # allow the worker user to access video devices
     68 RUN     usermod -a -G video worker
     69 
     70 # Set execution and ownership privileges
     71 RUN     chmod +x bin/*; chown -R worker:worker /builds/worker
     72 
     73 # Set up first-run experience for interactive mode
     74 ADD motd /etc/taskcluster-motd
     75 ADD taskcluster-interactive-shell /bin/taskcluster-interactive-shell
     76 RUN     chmod +x /bin/taskcluster-interactive-shell
     77 
     78 # Bug 1638183 - increase xserver maximum client count
     79 COPY     dot-files/config/xorg/99-serverflags.conf     /usr/share/X11/xorg.conf.d/
     80 
     81 # Ubuntu 18.04 (or any other GNOME3 based systems) needs dbus to have various
     82 # test function as expected. Use entrypoint to initialize dbus as root.
     83 COPY dbus.sh /usr/local/bin/dbus.sh
     84 RUN chmod +x /usr/local/bin/dbus.sh
     85 ENTRYPOINT ["/usr/local/bin/dbus.sh"]
     86 
     87 # Set a default command useful for debugging
     88 CMD ["/bin/bash", "--login"]