Bug 1391806: Move valgrind task to its own docker image. r=ted

bug 1382280 tripled the size of desktop-build image because of
installation of debug symbols. It is only used for valgrind, so let's
move valgrind task to use its own image.

MozReview-Commit-ID: 16St7dDj8tr

--HG--
rename : taskcluster/docker/desktop-build/Dockerfile => taskcluster/docker/valgrind-build/Dockerfile
extra : rebase_source : cc66813cab430d906643fbadf63c661e14784f6f
This commit is contained in:
Wander Lairson Costa 2017-08-21 08:50:08 -03:00
Родитель e50add9dfc
Коммит 2f3d031392
5 изменённых файлов: 90 добавлений и 5 удалений

Просмотреть файл

@ -18,6 +18,8 @@ jobs:
symbol: I(dt16t)
desktop-build:
symbol: I(db)
valgrind-build:
symbol: I(vb)
lint:
symbol: I(lnt)
android-gradle-build:

Просмотреть файл

@ -26,7 +26,7 @@ jobs:
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
docker-image: {in-tree: desktop-build}
docker-image: {in-tree: valgrind-build}
max-run-time: 72000
env:
TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/linux64/releng.manifest"

Просмотреть файл

@ -33,9 +33,6 @@ ADD topsrcdir/taskcluster/docker/recipes/install-cmake.sh /setup/install-cmake.s
# %include taskcluster/docker/recipes/centos6-build-system-setup.sh
ADD topsrcdir/taskcluster/docker/recipes/centos6-build-system-setup.sh /setup/system-setup.sh
# %include taskcluster/docker/recipes/centos-install-debug-symbols.sh
ADD topsrcdir/taskcluster/docker/recipes/centos-install-debug-symbols.sh /setup/install-debug-symbols.sh
# TODO remove once base image doesn't install Mercurial
RUN pip uninstall -y Mercurial

Просмотреть файл

@ -9,6 +9,9 @@ cd /setup
. /setup/install-mercurial.sh
. /setup/install-make.sh
. /setup/install-cmake.sh
. /setup/install-debug-symbols.sh
if [ -f /setup/install-debug-symbols.sh ]; then
. /setup/install-debug-symbols.sh
fi
rm -rf /setup

Просмотреть файл

@ -0,0 +1,83 @@
# TODO remove VOLUME below when the base image is updated next.
FROM taskcluster/centos6-build-upd:0.1.7.20170801103900
MAINTAINER Dustin J. Mitchell <dustin@mozilla.com>
# TODO remove when base image is updated
VOLUME /home/worker/workspace
VOLUME /home/worker/tooltool-cache
# Add build scripts; these are the entry points from the taskcluster worker, and
# operate on environment variables
# %include taskcluster/docker/desktop-build/bin
ADD topsrcdir/taskcluster/docker/desktop-build/bin /home/worker/bin
RUN chmod +x /home/worker/bin/*
# %include python/mozbuild/mozbuild/action/tooltool.py
ADD topsrcdir/python/mozbuild/mozbuild/action/tooltool.py /builds/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/common.sh
ADD topsrcdir/taskcluster/docker/recipes/common.sh /setup/common.sh
# %include taskcluster/docker/recipes/install-mercurial.sh
ADD topsrcdir/taskcluster/docker/recipes/install-mercurial.sh /setup/install-mercurial.sh
# %include taskcluster/docker/recipes/install-make.sh
ADD topsrcdir/taskcluster/docker/recipes/install-make.sh /setup/install-make.sh
# %include taskcluster/docker/recipes/install-cmake.sh
ADD topsrcdir/taskcluster/docker/recipes/install-cmake.sh /setup/install-cmake.sh
# %include taskcluster/docker/recipes/centos6-build-system-setup.sh
ADD topsrcdir/taskcluster/docker/recipes/centos6-build-system-setup.sh /setup/system-setup.sh
# %include taskcluster/docker/recipes/centos-install-debug-symbols.sh
ADD topsrcdir/taskcluster/docker/recipes/centos-install-debug-symbols.sh /setup/install-debug-symbols.sh
# TODO remove once base image doesn't install Mercurial
RUN pip uninstall -y Mercurial
RUN bash /setup/system-setup.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
# %include taskcluster/docker/recipes/run-task
ADD topsrcdir/taskcluster/docker/recipes/run-task /home/worker/bin/run-task
# Add configuration
# %include taskcluster/docker/desktop-build/dot-config
ADD topsrcdir/taskcluster/docker/desktop-build/dot-config /home/worker/.config
# Generate machine uuid file
RUN dbus-uuidgen --ensure=/var/lib/dbus/machine-id
# Stubbed out credentials; mozharness looks for this file an issues a WARNING
# if it's not found, which causes the build to fail. Note that this needs to
# be in the parent of the workspace directory and in the directory where
# mozharness is run (not its --work-dir). See Bug 1169652.
# %include taskcluster/docker/desktop-build/oauth.txt
ADD topsrcdir/taskcluster/docker/desktop-build/oauth.txt /home/worker/
# stubbed out buildprops, which keeps mozharness from choking
# Note that this needs to be in the parent of the workspace directory and in
# the directory where mozharness is run (not its --work-dir)
# %include taskcluster/docker/desktop-build/buildprops.json
ADD topsrcdir/taskcluster/docker/desktop-build/buildprops.json /home/worker/
# Move installation to base centos6-build image once Bug 1272629 is fixed
# Install the screen package here to use with xvfb.
# Install bison to build binutils.
RUN yum install -y bison screen
# Install libtool.
RUN yum install -y libtool
# Set a default command useful for debugging
CMD ["/bin/bash", "--login"]