Bug 1389715 - Remove legacy Ubuntu 12.04 desktop-test image; r?jmaher
AFAICT there are no more in-tree references to this image. That
should mean we can nuke it. So do that.
MozReview-Commit-ID: 9LUGjt46ZCi
--- a/taskcluster/ci/docker-image/kind.yml
+++ b/taskcluster/ci/docker-image/kind.yml
@@ -9,18 +9,16 @@ transforms:
- taskgraph.transforms.task:transforms
# make a task for each docker-image we might want. For the moment, since we
# write artifacts for each, these are whitelisted, but ideally that will change
# (to use subdirectory clones of the proper directory), at which point we can
# generate tasks for every docker image in the directory, secure in the
# knowledge that unnecessary images will be omitted from the target task graph
jobs:
- desktop-test:
- symbol: I(dt)
desktop1604-test:
symbol: I(dt16t)
desktop-build:
symbol: I(db)
lint:
symbol: I(lnt)
android-gradle-build:
symbol: I(agb)
deleted file mode 100644
--- a/taskcluster/docker/desktop-test/Dockerfile
+++ /dev/null
@@ -1,108 +0,0 @@
-FROM ubuntu:12.04
-MAINTAINER Jonas Finnemann Jensen <jopsen@gmail.com>
-
-RUN useradd -d /home/worker -s /bin/bash -m worker
-WORKDIR /home/worker
-
-# %include python/mozbuild/mozbuild/action/tooltool.py
-ADD topsrcdir/python/mozbuild/mozbuild/action/tooltool.py /setup/tooltool.py
-
-# %include testing/mozharness/external_tools/robustcheckout.py
-ADD topsrcdir/testing/mozharness/external_tools/robustcheckout.py /usr/local/mercurial/robustcheckout.py
-
-# %include taskcluster/docker/recipes/install-mercurial.sh
-ADD topsrcdir/taskcluster/docker/recipes/install-mercurial.sh /tmp/install-mercurial.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 /home/worker/scripts/xvfb.sh
-
-# Add the tooltool manifest containing the minidump_stackwalk binary.
-# %include testing/config/tooltool-manifests/linux64/releng.manifest
-ADD topsrcdir/testing/config/tooltool-manifests/linux64/releng.manifest /tmp/minidump_stackwalk.manifest
-
-# %include taskcluster/docker/recipes/ubuntu1204-test-system-setup.sh
-ADD topsrcdir/taskcluster/docker/recipes/ubuntu1204-test-system-setup.sh /setup/system-setup.sh
-RUN bash /setup/system-setup.sh
-
-# %include taskcluster/docker/recipes/run-task
-ADD topsrcdir/taskcluster/docker/recipes/run-task /home/worker/bin/run-task
-
-# %include taskcluster/scripts/tester/test-linux.sh
-ADD topsrcdir/taskcluster/scripts/tester/test-linux.sh /home/worker/bin/test-linux.sh
-
-# This will create a host mounted filesystem when the cache is stripped
-# on Try. This cancels out some of the performance losses of aufs. See
-# bug 1291940.
-VOLUME /home/worker/checkouts
-VOLUME /home/worker/workspace
-
-# Set variable normally configured at login, by the shells parent process, these
-# are taken from GNU su manual
-ENV HOME /home/worker
-ENV SHELL /bin/bash
-ENV USER worker
-ENV LOGNAME worker
-ENV HOSTNAME taskcluster-worker
-ENV LANG en_US.UTF-8
-ENV LC_ALL en_US.UTF-8
-
-# Add utilities and configuration
-COPY dot-files/config /home/worker/.config
-COPY dot-files/pulse /home/worker/.pulse
-RUN chmod +x bin/*
-# TODO: remove this when buildbot is gone
-COPY buildprops.json /home/worker/buildprops.json
-COPY tc-vcs-config.yml /etc/taskcluster-vcs.yml
-
-# TODO: remove
-ADD https://raw.githubusercontent.com/taskcluster/buildbot-step/master/buildbot_step /home/worker/bin/buildbot_step
-RUN chmod u+x /home/worker/bin/buildbot_step
-
-# allow the worker user to access video devices
-RUN usermod -a -G video worker
-
-RUN mkdir Documents; mkdir Pictures; mkdir Music; mkdir Videos; mkdir artifacts
-
-# install tc-vcs and tc-npm-cache
-RUN npm install -g taskcluster-vcs@2.3.12 \
- && npm install -g taskcluster-npm-cache@1.1.14 \
- && rm -rf ~/.npm
-ENV PATH $PATH:/home/worker/bin
-
-# TODO Re-enable worker when bug 1093833 lands
-#USER worker
-
-# clean up
-RUN rm -Rf .cache && mkdir -p .cache
-
-# Disable Ubuntu update prompt
-# http://askubuntu.com/questions/515161/ubuntu-12-04-disable-release-notification-of-14-04-in-update-manager
-ADD release-upgrades /etc/update-manager/release-upgrades
-
-# Disable tools with on-login popups that interfere with tests; see bug 1240084 and bug 984944.
-ADD jockey-gtk.desktop deja-dup-monitor.desktop /etc/xdg/autostart/
-
-# In test.sh we accept START_VNC to start a vnc daemon.
-# Exposing this port allows it to work.
-EXPOSE 5900
-
-# This helps not forgetting setting DISPLAY=:0 when running
-# tests outside of test.sh
-ENV DISPLAY :0
-
-# Disable apport (Ubuntu 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 /home/worker/.fonts.conf
-
-# 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
-
-RUN chown -R worker:worker /home/worker
-
-# Set a default command useful for debugging
-CMD ["/bin/bash", "--login"]
deleted file mode 100644
--- a/taskcluster/docker/desktop-test/apport
+++ /dev/null
@@ -1,1 +0,0 @@
-enabled=0
deleted file mode 100644
--- a/taskcluster/docker/desktop-test/buildprops.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "properties": {
- "buildername": ""
- },
- "sourcestamp": {
- "changes": []
- }
-}
deleted file mode 100644
--- a/taskcluster/docker/desktop-test/deja-dup-monitor.desktop
+++ /dev/null
@@ -1,19 +0,0 @@
-[Desktop Entry]
-Version=1.0
-X-Ubuntu-Gettext-Domain=deja-dup
-
-Name=Backup Monitor
-Comment=Schedules backups at regular intervals
-
-Icon=deja-dup
-TryExec=/usr/lib/deja-dup/deja-dup/deja-dup-monitor
-Exec=/usr/lib/deja-dup/deja-dup/deja-dup-monitor
-
-# Bug 984944/1240084 - It prevents taking screenshots
-X-GNOME-Autostart-Delay=false
-
-StartupNotify=false
-NoDisplay=true
-
-Type=Application
-Categories=System;Utility;Archiving;
deleted file mode 100644
--- a/taskcluster/docker/desktop-test/dot-files/config/pip/pip.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-[global]
-disable-pip-version-check = true
deleted file mode 100644
--- a/taskcluster/docker/desktop-test/dot-files/config/user-dirs.dirs
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file is written by xdg-user-dirs-update
-# If you want to change or add directories, just edit the line you're
-# interested in. All local changes will be retained on the next run
-# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
-# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
-# absolute path. No other format is supported.
-
-XDG_DESKTOP_DIR="$HOME/Desktop"
-XDG_DOWNLOAD_DIR="$HOME/Downloads"
-XDG_TEMPLATES_DIR="$HOME/Templates"
-XDG_PUBLICSHARE_DIR="$HOME/Public"
-XDG_DOCUMENTS_DIR="$HOME/Documents"
-XDG_MUSIC_DIR="$HOME/Music"
-XDG_PICTURES_DIR="$HOME/Pictures"
-XDG_VIDEOS_DIR="$HOME/Videos"
deleted file mode 100644
--- a/taskcluster/docker/desktop-test/dot-files/config/user-dirs.locale
+++ /dev/null
@@ -1,1 +0,0 @@
-en_US
deleted file mode 100644
--- a/taskcluster/docker/desktop-test/dot-files/pulse/default.pa
+++ /dev/null
@@ -1,164 +0,0 @@
-#!/usr/bin/pulseaudio -nF
-#
-# This file is part of PulseAudio.
-#
-# PulseAudio is free software; you can redistribute it and/or modify it
-# under the terms of the GNU Lesser General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# PulseAudio is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with PulseAudio; if not, write to the Free Software Foundation,
-# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-
-# This startup script is used only if PulseAudio is started per-user
-# (i.e. not in system mode)
-
-.nofail
-
-### Load something into the sample cache
-#load-sample-lazy x11-bell /usr/share/sounds/gtk-events/activate.wav
-#load-sample-lazy pulse-hotplug /usr/share/sounds/startup3.wav
-#load-sample-lazy pulse-coldplug /usr/share/sounds/startup3.wav
-#load-sample-lazy pulse-access /usr/share/sounds/generic.wav
-
-.fail
-
-### Automatically restore the volume of streams and devices
-load-module module-device-restore
-load-module module-stream-restore
-load-module module-card-restore
-
-### Automatically augment property information from .desktop files
-### stored in /usr/share/application
-load-module module-augment-properties
-
-### Load audio drivers statically
-### (it's probably better to not load these drivers manually, but instead
-### use module-udev-detect -- see below -- for doing this automatically)
-#load-module module-alsa-sink
-#load-module module-alsa-source device=hw:1,0
-#load-module module-oss device="/dev/dsp" sink_name=output source_name=input
-#load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input
-#load-module module-null-sink
-#load-module module-pipe-sink
-
-### Automatically load driver modules depending on the hardware available
-.ifexists module-udev-detect.so
-load-module module-udev-detect
-.else
-### Use the static hardware detection module (for systems that lack udev/hal support)
-load-module module-detect
-.endif
-
-### Automatically connect sink and source if JACK server is present
-.ifexists module-jackdbus-detect.so
-.nofail
-load-module module-jackdbus-detect
-.fail
-.endif
-
-### Automatically load driver modules for Bluetooth hardware
-# This module causes a pulseaudio startup failure on "gecko-tester"
-#.ifexists module-bluetooth-discover.so
-#load-module module-bluetooth-discover
-#.endif
-
-### Load several protocols
-.ifexists module-esound-protocol-unix.so
-load-module module-esound-protocol-unix
-.endif
-load-module module-native-protocol-unix
-
-### Network access (may be configured with paprefs, so leave this commented
-### here if you plan to use paprefs)
-#load-module module-esound-protocol-tcp
-#load-module module-native-protocol-tcp
-#load-module module-zeroconf-publish
-
-### Load the RTP receiver module (also configured via paprefs, see above)
-#load-module module-rtp-recv
-
-### Load the RTP sender module (also configured via paprefs, see above)
-#load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'"
-#load-module module-rtp-send source=rtp.monitor
-
-### Load additional modules from GConf settings. This can be configured with the paprefs tool.
-### Please keep in mind that the modules configured by paprefs might conflict with manually
-### loaded modules.
-.ifexists module-gconf.so
-.nofail
-load-module module-gconf
-.fail
-.endif
-
-### Automatically restore the default sink/source when changed by the user
-### during runtime
-### NOTE: This should be loaded as early as possible so that subsequent modules
-### that look up the default sink/source get the right value
-load-module module-default-device-restore
-
-### Automatically move streams to the default sink if the sink they are
-### connected to dies, similar for sources
-load-module module-rescue-streams
-
-### Make sure we always have a sink around, even if it is a null sink.
-load-module module-always-sink
-
-### Honour intended role device property
-load-module module-intended-roles
-
-### Automatically suspend sinks/sources that become idle for too long
-load-module module-suspend-on-idle
-
-### If autoexit on idle is enabled we want to make sure we only quit
-### when no local session needs us anymore.
-# This module causes a pulseaudio startup failure on "gecko-tester"
-#.ifexists module-console-kit.so
-#load-module module-console-kit
-#.endif
-
-### Enable positioned event sounds
-load-module module-position-event-sounds
-
-### Cork music streams when a phone stream is active
-#load-module module-cork-music-on-phone
-
-### Modules to allow autoloading of filters (such as echo cancellation)
-### on demand. module-filter-heuristics tries to determine what filters
-### make sense, and module-filter-apply does the heavy-lifting of
-### loading modules and rerouting streams.
-load-module module-filter-heuristics
-load-module module-filter-apply
-
-### Load DBus protocol
-#.ifexists module-dbus-protocol.so
-#load-module module-dbus-protocol
-#.endif
-
-# X11 modules should not be started from default.pa so that one daemon
-# can be shared by multiple sessions.
-
-### Load X11 bell module
-#load-module module-x11-bell sample=bell-windowing-system
-
-### Register ourselves in the X11 session manager
-#load-module module-x11-xsmp
-
-### Publish connection data in the X11 root window
-#.ifexists module-x11-publish.so
-#.nofail
-#load-module module-x11-publish
-#.fail
-#.endif
-
-load-module module-switch-on-port-available
-
-### Make some devices default
-#set-default-sink output
-#set-default-source input
deleted file mode 100644
--- a/taskcluster/docker/desktop-test/fonts.conf
+++ /dev/null
@@ -1,5 +0,0 @@
-<match target="font">
- <edit name="antialias" mode="assign">
- <bool>false</bool>
- </edit>
-</match>
deleted file mode 100644
--- a/taskcluster/docker/desktop-test/jockey-gtk.desktop
+++ /dev/null
@@ -1,15 +0,0 @@
-[Desktop Entry]
-Name=Check for new hardware drivers
-Comment=Notify about new hardware drivers available for the system
-Icon=jockey
-Exec=sh -c "test -e /var/cache/jockey/check || exec jockey-gtk --check"
-Terminal=false
-Type=Application
-Categories=System;Settings;GTK;HardwareSettings;
-NotShowIn=KDE;
-X-Ubuntu-Gettext-Domain=jockey
-
-# Bug 984944/1240084 - It prevents taking screenshots
-X-GNOME-Autostart-Delay=false
-
-NoDisplay=true
deleted file mode 100644
--- a/taskcluster/docker/desktop-test/motd
+++ /dev/null
@@ -1,6 +0,0 @@
-Welcome to your taskcluster interactive shell! The regularly scheduled task
-has been paused to give you a chance to set up your debugging environment.
-
-For your convenience, the exact mozharness command needed for this task can
-be invoked using the 'run-mozharness' command.
-
deleted file mode 100644
--- a/taskcluster/docker/desktop-test/release-upgrades
+++ /dev/null
@@ -1,17 +0,0 @@
-# Default behavior for the release upgrader.
-
-[DEFAULT]
-# Default prompting behavior, valid options:
-#
-# never - Never check for a new release.
-# normal - Check to see if a new release is available. If more than one new
-# release is found, the release upgrader will attempt to upgrade to
-# the release that immediately succeeds the currently-running
-# release.
-# lts - Check to see if a new LTS release is available. The upgrader
-# will attempt to upgrade to the first LTS release available after
-# the currently-running one. Note that this option should not be
-# used if the currently-running release is not itself an LTS
-# release, since in that case the upgrader won't be able to
-# determine if a newer release is available.
-Prompt=never
deleted file mode 100644
--- a/taskcluster/docker/desktop-test/taskcluster-interactive-shell
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/usr/bin/env bash
-
-download() {
- name=`basename $1`
- url=${GECKO_HEAD_REPOSITORY}/raw-file/${GECKO_HEAD_REV}/$1
- if ! curl --fail --silent -o ./$name --retry 10 $url; then
- fail "failed downloading $1 from ${GECKO_HEAD_REPOSITORY}"
- fi
-}
-
-cd $HOME/bin;
-download taskcluster/scripts/tester/run-wizard;
-chmod +x run-wizard;
-./run-wizard;
-
-SPAWN="$SHELL";
-if [ "$SHELL" = "bash" ]; then
- SPAWN="bash -li";
-fi;
-
-cd $HOME;
-exec $SPAWN;
deleted file mode 100644
--- a/taskcluster/docker/desktop-test/tc-vcs-config.yml
+++ /dev/null
@@ -1,40 +0,0 @@
-# Default configuration used by the tc-vs tools these can be overridden by
-# passing the config you wish to use over the command line...
-git: git
-hg: hg
-
-repoCache:
- # Repo url to clone when running repo init..
- repoUrl: https://gerrit.googlesource.com/git-repo.git
- # Version of repo to utilize...
- repoRevision: master
- # The root where all downloaded cache files are stored on the local machine...
- cacheDir: '{{env.HOME}}/.tc-vcs-repo/'
- # Name/prefixed used as part of the base url.
- cacheName: sources/{{name}}.tar.gz
- # Command used to upload the tarball
- uploadTar: "curl --header 'Content-Type: application/x-tar' --header 'Content-Encoding: gzip' -X PUT --data-binary @'{{source}}' '{{url}}'"
- # Large http get requests are often slower using nodes built in http layer so
- # we utilize a subprocess which is responsible for fetching...
- get: curl --connect-timeout 30 --speed-limit 500000 -L -o {{dest}} {{url}}
- # Used to create clone tarball
- compress: tar -czf {{dest}} {{source}}
- # All cache urls use tar + gz this is the command used to extract those files
- # downloaded by the "get" command.
- extract: tar -x -z -C {{dest}} -f {{source}}
-
-cloneCache:
- # The root where all downloaded cache files are stored on the local machine...
- cacheDir: '{{env.HOME}}/.tc-vcs/'
- # Command used to upload the tarball
- uploadTar: "curl --header 'Content-Type: application/x-tar' --header 'Content-Encoding: gzip' -X PUT --data-binary @'{{source}}' '{{url}}'"
- # Large http get requests are often slower using nodes built in http layer so
- # we utilize a subprocess which is responsible for fetching...
- get: curl --connect-timeout 30 --speed-limit 500000 -L -o {{dest}} {{url}}
- # Used to create clone tarball
- compress: tar -czf {{dest}} {{source}}
- # All cache urls use tar + gz this is the command used to extract those files
- # downloaded by the "get" command.
- extract: tar -x -z --strip-components 1 -C {{dest}} -f {{source}}
- # Name/prefixed used as part of the base url.
- cacheName: clones/{{name}}.tar.gz
deleted file mode 100644
--- a/taskcluster/docker/desktop-test/tester.env
+++ /dev/null
@@ -1,4 +0,0 @@
-GAIA_REV=tip
-GAIA_REF=tip
-GAIA_BASE_REPOSITORY=https://hg.mozilla.org/integration/gaia-central
-GAIA_HEAD_REPOSITORY=https://hg.mozilla.org/integration/gaia-central
--- a/taskcluster/docker/recipes/install-mercurial.sh
+++ b/taskcluster/docker/recipes/install-mercurial.sh
@@ -16,24 +16,18 @@ if [ -f /etc/lsb-release ]; then
HG_DIGEST=e891b46d8e97cb1c6b0c714e037ea78ae3043f49d27655332c615c861ebb94654a064298c7363d318edd7750c45574cc434848ae758adbcd2a41c6c390006053
HG_SIZE=159870
HG_FILENAME=mercurial_4.1.2_amd64.deb
HG_COMMON_DIGEST=112fab48805f267343c5757af5633ef51e4a8fcc7029b83afb7790ba9600ec185d4857dd1925c9aa724bc191f5f37039a59900b99f95e3427bf5d82c85447b69
HG_COMMON_SIZE=1919078
HG_COMMON_FILENAME=mercurial-common_4.1.2_all.deb
elif [ "${DISTRIB_ID}" = "Ubuntu" -a "${DISTRIB_RELEASE}" = "12.04" ]; then
- HG_DEB=1
- HG_DIGEST=67823aa455c59dbdc24ec1f044b0afdb5c03520ef3601509cb5466dc0ac332846caf96176f07de501c568236f6909e55dfc8f4b02f8c69fa593a4abca9abfeb8
- HG_SIZE=167880
- HG_FILENAME=mercurial_4.1.2_amd64.deb
-
- HG_COMMON_DIGEST=5e1c462a9b699d2068f7a0c14589f347ca719c216181ef7a625033df757185eeb3a8fed57986829a7943f16af5a8d66ddf457cc7fc4af557be88eb09486fe665
- HG_COMMON_SIZE=3091596
- HG_COMMON_FILENAME=mercurial-common_4.1.2_all.deb
+ echo "Ubuntu 12.04 not supported"
+ exit 1
fi
CERT_PATH=/etc/ssl/certs/ca-certificates.crt
elif [ -f /etc/centos-release ]; then
CENTOS_VERSION=`rpm -q --queryformat '%{VERSION}' centos-release`
if [ "${CENTOS_VERSION}" = "6" ]; then
if [ -f /usr/bin/pip2.7 ]; then
--- a/taskcluster/scripts/tester/test-linux.sh
+++ b/taskcluster/scripts/tester/test-linux.sh
@@ -2,17 +2,18 @@
set -x -e
echo "running as" $(id)
# Detect release version.
. /etc/lsb-release
if [ "${DISTRIB_RELEASE}" == "12.04" ]; then
- UBUNTU_1204=1
+ echo "Ubuntu 12.04 not supported"
+ exit 1
elif [ "${DISTRIB_RELEASE}" == "16.04" ]; then
UBUNTU_1604=1
fi
####
# Taskcluster friendly wrapper for performing fx desktop tests via mozharness.
####
@@ -110,21 +111,16 @@ if [ ${MOZHARNESS_URL} ]; then
if ! [ -d mozharness ]; then
fail "mozharness zip did not contain mozharness/"
fi
MOZHARNESS_PATH=`pwd`/mozharness
fi
-# pulseaudio daemon must be started before xvfb on Ubuntu 12.04.
-if [ "${UBUNTU_1204}" ]; then
- maybe_start_pulse
-fi
-
# run XVfb in the background, if necessary
if $NEED_XVFB; then
# note that this file is not available when run under native-worker
. $HOME/scripts/xvfb.sh
start_xvfb '1600x1200x24' 0
fi
if $START_VNC; then