File: Dockerfile

package info (click to toggle)
firefox 147.0.3-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 4,683,320 kB
  • sloc: cpp: 7,607,359; javascript: 6,533,295; ansic: 3,775,223; python: 1,415,500; xml: 634,561; asm: 438,949; java: 186,241; sh: 62,752; makefile: 18,079; objc: 13,092; perl: 12,808; yacc: 4,583; cs: 3,846; pascal: 3,448; lex: 1,720; ruby: 1,003; php: 436; lisp: 258; awk: 247; sql: 66; sed: 54; csh: 10; exp: 6
file content (88 lines) | stat: -rw-r--r-- 3,409 bytes parent folder | download | duplicates (11)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
FROM          $DOCKER_IMAGE_PARENT
MAINTAINER    Edwin Takahashi <egao@mozilla.com>

# Create necessary directories
RUN     mkdir -p /artifacts

# We need to declare all potentially cache volumes as caches. Also,
# making high I/O paths volumes increase I/O throughput because of
# AUFS slowness.
VOLUME  /builds/worker/.task-cache/npm
VOLUME  /builds/worker/.task-cache/pip
VOLUME  /builds/worker/.task-cache/uv
VOLUME  /builds/worker/checkouts
VOLUME  /builds/worker/tooltool-cache
VOLUME  /builds/worker/workspace

# In test.sh we accept START_VNC to start a vnc daemon.
# Exposing this port allows it to work.
EXPOSE  5900

# %include python/mozbuild/mozbuild/action/tooltool.py
ADD topsrcdir/python/mozbuild/mozbuild/action/tooltool.py /setup/tooltool.py

# %include taskcluster/docker/recipes/common.sh
ADD topsrcdir/taskcluster/docker/recipes/common.sh /setup/common.sh

# %include taskcluster/docker/recipes/install-node.sh
ADD topsrcdir/taskcluster/docker/recipes/install-node.sh /setup/install-node.sh

# Add wrapper scripts for xvfb allowing tasks to easily retry starting up xvfb
# %include taskcluster/docker/recipes/xvfb.sh
ADD topsrcdir/taskcluster/docker/recipes/xvfb.sh /builds/worker/scripts/xvfb.sh

ADD topsrcdir/python/mozbuild/mozbuild/action/tooltool.py /builds/worker/scripts/tooltool.py

# %include build/psutil_requirements.txt
ADD topsrcdir/build/psutil_requirements.txt /setup/psutil_requirements.txt
# %include taskcluster/docker/recipes/ubuntu1804-test-system-setup.sh
ADD topsrcdir/taskcluster/docker/recipes/ubuntu1804-test-system-setup.sh /setup/system-setup.sh
RUN     bash /setup/system-setup.sh

# %include taskcluster/scripts/tester/test-linux.sh
ADD topsrcdir/taskcluster/scripts/tester/test-linux.sh /builds/worker/bin/test-linux.sh

# Set variable normally configured at login, by the shells parent process, these
# are taken from GNU su manual
ENV     LANG            en_US.UTF-8
ENV     LC_ALL          en_US.UTF-8
ENV     PATH            $PATH:/builds/worker/bin

# This helps not forgetting setting DISPLAY=:0 when running
# tests outside of test.sh
ENV DISPLAY :0

# Add utilities and configuration
COPY    dot-files/config        /builds/worker/.config

# Disable apport (app crash reporter) to avoid stealing focus from test runs
ADD apport /etc/default/apport

# Disable font antialiasing for now to match releng's setup
ADD fonts.conf /builds/worker/.fonts.conf

# Bug 1345105 - Do not run periodical update checks and downloads
ADD autostart/gnome-software-service.desktop /etc/xdg/autostart/

# allow the worker user to access video devices
RUN     usermod -a -G video worker

# Set execution and ownership privileges
RUN     chmod +x bin/*; chown -R worker:worker /builds/worker

# Set up first-run experience for interactive mode
ADD motd /etc/taskcluster-motd
ADD taskcluster-interactive-shell /bin/taskcluster-interactive-shell
RUN     chmod +x /bin/taskcluster-interactive-shell

# Bug 1638183 - increase xserver maximum client count
COPY     dot-files/config/xorg/99-serverflags.conf     /usr/share/X11/xorg.conf.d/

# Ubuntu 18.04 (or any other GNOME3 based systems) needs dbus to have various
# test function as expected. Use entrypoint to initialize dbus as root.
COPY dbus.sh /usr/local/bin/dbus.sh
RUN chmod +x /usr/local/bin/dbus.sh
ENTRYPOINT ["/usr/local/bin/dbus.sh"]

# Set a default command useful for debugging
CMD ["/bin/bash", "--login"]