Backed out changesets ef813898b5d3, ce228388aaf6, and c798f482b2c5 (bug 1396098) for violating TC cache constraints

CLOSED TREE

--HG--
extra : amend_source : 84120d6bacb5d72a9fbe41e4c3b405d63825da7c
extra : histedit_source : 8320c2193761b745f10850055ee74a3c9ac73615%2Cfbc2a28d8c5004a53305ef858ca5aea4245691e0
This commit is contained in:
Gregory Szorc 2017-09-18 13:30:43 -07:00
Родитель 0b5ee79acc
Коммит 972bb63fcc
11 изменённых файлов: 112 добавлений и 176 удалений

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

@ -10,27 +10,19 @@ fi
MOZ_AUTOMATION_L10N_CHECK=0 MOZ_AUTOMATION_L10N_CHECK=0
. "$topsrcdir/build/mozconfig.common" . "$topsrcdir/build/mozconfig.common"
# For actual Android builds in TaskCluster, the system image is Debian, # In TaskCluster, the Java JRE/JDK are installed from tooltool, but that
# and we use the Java JRE/JDK from the system, as well as the system # install doesn't work on the old Buildbot mock builders (CentOS 6.2), so
# GCC for the host compiler. l10n builds are still special, however: # the relevant env vars are not set up in that case, leaving the build to
# they are run on older CentOS systems, and l10n builds on release are # run from the JRE/JDK in /usr/lib/jvm.
# still run on Buildbot. So we have to set things up so this mozconfig if [ ! -f /etc/redhat-release ] || [ "$(< /etc/redhat-release)" != "CentOS release 6.2 (Final)" ]; then
# works in all cases.
if [ -f /etc/debian_version ]; then
# We're on Debian, there's nothing to do.
true
elif [ ! -f /etc/redhat-release ] || [ "$(< /etc/redhat-release)" != "CentOS release 6.2 (Final)" ]; then
# set JAVA_HOME to find the JRE/JDK from tooltool. Several scripts in the JDK # set JAVA_HOME to find the JRE/JDK from tooltool. Several scripts in the JDK
# assume `java` is in PATH, so set that too. To see how this tarball is built, # assume `java` is in PATH, so set that too. To see how this tarball is built,
# see taskcluster/scripts/builder/build-android-dependencies/repackage-jdk-centos.sh # see taskcluster/scripts/misc/repackage-jdk.sh
export JAVA_HOME="$topsrcdir/java_home" export JAVA_HOME="$topsrcdir/java_home"
export PATH="$PATH:$topsrcdir/java_home/bin" export PATH="$PATH:$topsrcdir/java_home/bin"
mk_add_options "export JAVA_HOME=$topsrcdir/java_home" mk_add_options "export JAVA_HOME=$topsrcdir/java_home"
mk_add_options "export PATH=$PATH:$topsrcdir/java_home/bin" mk_add_options "export PATH=$PATH:$topsrcdir/java_home/bin"
HOST_CC="$topsrcdir/gcc/bin/gcc"
HOST_CXX="$topsrcdir/gcc/bin/g++"
fi fi
ac_add_options --enable-elf-hack ac_add_options --enable-elf-hack
@ -106,6 +98,11 @@ export SOCORRO_SYMBOL_UPLOAD_TOKEN_FILE=/builds/crash-stats-api.token
# Package js shell. # Package js shell.
export MOZ_PACKAGE_JSSHELL=1 export MOZ_PACKAGE_JSSHELL=1
# Use ccache
HOST_CC="$topsrcdir/gcc/bin/gcc"
HOST_CXX="$topsrcdir/gcc/bin/g++"
. "$topsrcdir/build/unix/mozconfig.stdcxx" . "$topsrcdir/build/unix/mozconfig.stdcxx"
# Use libc++ as our C++ standard library # Use libc++ as our C++ standard library

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

@ -58,7 +58,7 @@ android-test/opt:
symbol: tc(test) symbol: tc(test)
worker-type: aws-provisioner-v1/gecko-{level}-b-android worker-type: aws-provisioner-v1/gecko-{level}-b-android
worker: worker:
docker-image: {in-tree: android-build} docker-image: {in-tree: desktop-build}
env: env:
GRADLE_USER_HOME: "/builds/worker/workspace/build/src/dotgradle" GRADLE_USER_HOME: "/builds/worker/workspace/build/src/dotgradle"
PERFHERDER_EXTRA_OPTIONS: android-test PERFHERDER_EXTRA_OPTIONS: android-test
@ -85,7 +85,6 @@ android-test/opt:
optimizations: optimizations:
- - skip-unless-changed - - skip-unless-changed
- - "mobile/android/base/**" - - "mobile/android/base/**"
- "mobile/android/config/**"
- "mobile/android/tests/background/junit4/**" - "mobile/android/tests/background/junit4/**"
- "**/*.gradle" - "**/*.gradle"
@ -101,7 +100,7 @@ android-lint/opt:
symbol: tc(lint) symbol: tc(lint)
worker-type: aws-provisioner-v1/gecko-{level}-b-android worker-type: aws-provisioner-v1/gecko-{level}-b-android
worker: worker:
docker-image: {in-tree: android-build} docker-image: {in-tree: desktop-build}
env: env:
GRADLE_USER_HOME: "/builds/worker/workspace/build/src/dotgradle" GRADLE_USER_HOME: "/builds/worker/workspace/build/src/dotgradle"
PERFHERDER_EXTRA_OPTIONS: android-lint PERFHERDER_EXTRA_OPTIONS: android-lint
@ -149,7 +148,6 @@ android-lint/opt:
- "mobile/android/**/*.svg" - "mobile/android/**/*.svg"
- "mobile/android/**/*.xml" # Manifest & android resources - "mobile/android/**/*.xml" # Manifest & android resources
- "mobile/android/**/Makefile.in" - "mobile/android/**/Makefile.in"
- "mobile/android/config/**"
- "mobile/android/**/moz.build" - "mobile/android/**/moz.build"
- "**/*.gradle" - "**/*.gradle"
@ -165,7 +163,7 @@ android-checkstyle/opt:
symbol: tc(checkstyle) symbol: tc(checkstyle)
worker-type: aws-provisioner-v1/gecko-{level}-b-android worker-type: aws-provisioner-v1/gecko-{level}-b-android
worker: worker:
docker-image: {in-tree: android-build} docker-image: {in-tree: desktop-build}
env: env:
GRADLE_USER_HOME: "/builds/worker/workspace/build/src/dotgradle" GRADLE_USER_HOME: "/builds/worker/workspace/build/src/dotgradle"
PERFHERDER_EXTRA_OPTIONS: android-checkstyle PERFHERDER_EXTRA_OPTIONS: android-checkstyle
@ -197,7 +195,6 @@ android-checkstyle/opt:
- - "mobile/android/**/checkstyle.xml" - - "mobile/android/**/checkstyle.xml"
- "mobile/android/**/*.java" - "mobile/android/**/*.java"
- "mobile/android/**/Makefile.in" - "mobile/android/**/Makefile.in"
- "mobile/android/config/**"
- "mobile/android/**/moz.build" - "mobile/android/**/moz.build"
- "**/*.gradle" - "**/*.gradle"
@ -213,7 +210,7 @@ android-findbugs/opt:
symbol: tc(findbugs) symbol: tc(findbugs)
worker-type: aws-provisioner-v1/gecko-{level}-b-android worker-type: aws-provisioner-v1/gecko-{level}-b-android
worker: worker:
docker-image: {in-tree: android-build} docker-image: {in-tree: desktop-build}
env: env:
GRADLE_USER_HOME: "/builds/worker/workspace/build/src/dotgradle" GRADLE_USER_HOME: "/builds/worker/workspace/build/src/dotgradle"
PERFHERDER_EXTRA_OPTIONS: android-findbugs PERFHERDER_EXTRA_OPTIONS: android-findbugs
@ -250,6 +247,5 @@ android-findbugs/opt:
- - skip-unless-changed - - skip-unless-changed
- - "mobile/android/**/*.java" - - "mobile/android/**/*.java"
- "mobile/android/**/Makefile.in" - "mobile/android/**/Makefile.in"
- "mobile/android/config/**"
- "mobile/android/**/moz.build" - "mobile/android/**/moz.build"
- "**/*.gradle" - "**/*.gradle"

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

@ -8,7 +8,6 @@ android-api-16/debug:
symbol: tc(B) symbol: tc(B)
worker-type: aws-provisioner-v1/gecko-{level}-b-android worker-type: aws-provisioner-v1/gecko-{level}-b-android
worker: worker:
docker-image: {in-tree: android-build}
max-run-time: 7200 max-run-time: 7200
env: env:
TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest" TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
@ -24,6 +23,7 @@ android-api-16/debug:
custom-build-variant-cfg: api-16-debug custom-build-variant-cfg: api-16-debug
tooltool-downloads: internal tooltool-downloads: internal
toolchains: toolchains:
- linux64-gcc
- linux64-sccache - linux64-sccache
android-x86/opt: android-x86/opt:
@ -36,7 +36,6 @@ android-x86/opt:
symbol: tc(B) symbol: tc(B)
worker-type: aws-provisioner-v1/gecko-{level}-b-android worker-type: aws-provisioner-v1/gecko-{level}-b-android
worker: worker:
docker-image: {in-tree: android-build}
max-run-time: 7200 max-run-time: 7200
env: env:
TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest" TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
@ -52,6 +51,7 @@ android-x86/opt:
custom-build-variant-cfg: x86 custom-build-variant-cfg: x86
tooltool-downloads: internal tooltool-downloads: internal
toolchains: toolchains:
- linux64-gcc
- linux64-sccache - linux64-sccache
android-x86-nightly/opt: android-x86-nightly/opt:
@ -67,7 +67,6 @@ android-x86-nightly/opt:
symbol: tc(N) symbol: tc(N)
worker-type: aws-provisioner-v1/gecko-{level}-b-android worker-type: aws-provisioner-v1/gecko-{level}-b-android
worker: worker:
docker-image: {in-tree: android-build}
max-run-time: 7200 max-run-time: 7200
env: env:
TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest" TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
@ -84,6 +83,7 @@ android-x86-nightly/opt:
custom-build-variant-cfg: x86 custom-build-variant-cfg: x86
tooltool-downloads: internal tooltool-downloads: internal
toolchains: toolchains:
- linux64-gcc
- linux64-sccache - linux64-sccache
android-api-16/opt: android-api-16/opt:
@ -96,7 +96,6 @@ android-api-16/opt:
symbol: tc(B) symbol: tc(B)
worker-type: aws-provisioner-v1/gecko-{level}-b-android worker-type: aws-provisioner-v1/gecko-{level}-b-android
worker: worker:
docker-image: {in-tree: android-build}
max-run-time: 7200 max-run-time: 7200
env: env:
TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest" TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
@ -112,6 +111,7 @@ android-api-16/opt:
custom-build-variant-cfg: api-16 custom-build-variant-cfg: api-16
tooltool-downloads: internal tooltool-downloads: internal
toolchains: toolchains:
- linux64-gcc
- linux64-sccache - linux64-sccache
android-api-16-nightly/opt: android-api-16-nightly/opt:
@ -127,7 +127,6 @@ android-api-16-nightly/opt:
symbol: tc(N) symbol: tc(N)
worker-type: aws-provisioner-v1/gecko-{level}-b-android worker-type: aws-provisioner-v1/gecko-{level}-b-android
worker: worker:
docker-image: {in-tree: android-build}
max-run-time: 7200 max-run-time: 7200
env: env:
TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest" TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
@ -144,6 +143,7 @@ android-api-16-nightly/opt:
custom-build-variant-cfg: api-16 custom-build-variant-cfg: api-16
tooltool-downloads: internal tooltool-downloads: internal
toolchains: toolchains:
- linux64-gcc
- linux64-sccache - linux64-sccache
android-x86-old-id/opt: android-x86-old-id/opt:
@ -156,7 +156,6 @@ android-x86-old-id/opt:
symbol: tc(B) symbol: tc(B)
worker-type: aws-provisioner-v1/gecko-{level}-b-android worker-type: aws-provisioner-v1/gecko-{level}-b-android
worker: worker:
docker-image: {in-tree: android-build}
max-run-time: 7200 max-run-time: 7200
env: env:
TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest" TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
@ -173,6 +172,7 @@ android-x86-old-id/opt:
tooltool-downloads: internal tooltool-downloads: internal
run-on-projects: [ 'mozilla-central' ] run-on-projects: [ 'mozilla-central' ]
toolchains: toolchains:
- linux64-gcc
- linux64-sccache - linux64-sccache
android-x86-old-id-nightly/opt: android-x86-old-id-nightly/opt:
@ -188,7 +188,6 @@ android-x86-old-id-nightly/opt:
symbol: tc(N) symbol: tc(N)
worker-type: aws-provisioner-v1/gecko-{level}-b-android worker-type: aws-provisioner-v1/gecko-{level}-b-android
worker: worker:
docker-image: {in-tree: android-build}
max-run-time: 7200 max-run-time: 7200
env: env:
TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest" TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
@ -206,6 +205,7 @@ android-x86-old-id-nightly/opt:
tooltool-downloads: internal tooltool-downloads: internal
run-on-projects: [ 'mozilla-central' ] run-on-projects: [ 'mozilla-central' ]
toolchains: toolchains:
- linux64-gcc
- linux64-sccache - linux64-sccache
android-api-16-old-id/opt: android-api-16-old-id/opt:
@ -218,7 +218,6 @@ android-api-16-old-id/opt:
symbol: tc(B) symbol: tc(B)
worker-type: aws-provisioner-v1/gecko-{level}-b-android worker-type: aws-provisioner-v1/gecko-{level}-b-android
worker: worker:
docker-image: {in-tree: android-build}
max-run-time: 7200 max-run-time: 7200
env: env:
TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest" TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
@ -235,6 +234,7 @@ android-api-16-old-id/opt:
tooltool-downloads: internal tooltool-downloads: internal
run-on-projects: [ 'mozilla-central' ] run-on-projects: [ 'mozilla-central' ]
toolchains: toolchains:
- linux64-gcc
- linux64-sccache - linux64-sccache
android-api-16-old-id-nightly/opt: android-api-16-old-id-nightly/opt:
@ -250,7 +250,6 @@ android-api-16-old-id-nightly/opt:
symbol: tc(N) symbol: tc(N)
worker-type: aws-provisioner-v1/gecko-{level}-b-android worker-type: aws-provisioner-v1/gecko-{level}-b-android
worker: worker:
docker-image: {in-tree: android-build}
max-run-time: 7200 max-run-time: 7200
env: env:
TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest" TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
@ -268,6 +267,7 @@ android-api-16-old-id-nightly/opt:
tooltool-downloads: internal tooltool-downloads: internal
run-on-projects: [ 'mozilla-central' ] run-on-projects: [ 'mozilla-central' ]
toolchains: toolchains:
- linux64-gcc
- linux64-sccache - linux64-sccache
android-api-16-gradle/opt: android-api-16-gradle/opt:
@ -281,7 +281,6 @@ android-api-16-gradle/opt:
tier: 2 tier: 2
worker-type: aws-provisioner-v1/gecko-{level}-b-android worker-type: aws-provisioner-v1/gecko-{level}-b-android
worker: worker:
docker-image: {in-tree: android-build}
max-run-time: 7200 max-run-time: 7200
env: env:
# Bug 1292762 - Set GRADLE_USER_HOME to avoid sdk-manager-plugin intermittent # Bug 1292762 - Set GRADLE_USER_HOME to avoid sdk-manager-plugin intermittent
@ -309,6 +308,7 @@ android-api-16-gradle/opt:
custom-build-variant-cfg: api-16-gradle custom-build-variant-cfg: api-16-gradle
tooltool-downloads: internal tooltool-downloads: internal
toolchains: toolchains:
- linux64-gcc
- linux64-sccache - linux64-sccache
android-aarch64/opt: android-aarch64/opt:
@ -321,7 +321,6 @@ android-aarch64/opt:
symbol: tc(B) symbol: tc(B)
worker-type: aws-provisioner-v1/gecko-{level}-b-android worker-type: aws-provisioner-v1/gecko-{level}-b-android
worker: worker:
docker-image: {in-tree: android-build}
max-run-time: 7200 max-run-time: 7200
env: env:
TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest" TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
@ -337,6 +336,7 @@ android-aarch64/opt:
custom-build-variant-cfg: aarch64 custom-build-variant-cfg: aarch64
tooltool-downloads: internal tooltool-downloads: internal
toolchains: toolchains:
- linux64-gcc
- linux64-sccache - linux64-sccache
android-aarch64-nightly/opt: android-aarch64-nightly/opt:
@ -352,7 +352,6 @@ android-aarch64-nightly/opt:
symbol: tc(N) symbol: tc(N)
worker-type: aws-provisioner-v1/gecko-{level}-b-android worker-type: aws-provisioner-v1/gecko-{level}-b-android
worker: worker:
docker-image: {in-tree: android-build}
max-run-time: 7200 max-run-time: 7200
env: env:
TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest" TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
@ -369,4 +368,5 @@ android-aarch64-nightly/opt:
custom-build-variant-cfg: aarch64 custom-build-variant-cfg: aarch64
tooltool-downloads: internal tooltool-downloads: internal
toolchains: toolchains:
- linux64-gcc
- linux64-sccache - linux64-sccache

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

@ -1,88 +1,18 @@
FROM debian:stretch-20170620 # TODO remove VOLUME below when the base image is updated next.
MAINTAINER Nick Alexander <nalexander@mozilla.com> FROM taskcluster/centos6-build-upd:0.1.8.20170808150401
MAINTAINER Nick Alexander <nalexander@mozilla.com>
### Add worker user and setup its workspace. # BEGIN ../desktop-build/Dockerfile
RUN mkdir -p /builds && \
useradd -u 1000 -d /builds/worker -s /bin/bash -m worker && \
chown -R worker:worker /builds && \
mkdir -p /builds/worker/workspace && \
chown -R worker:worker /builds/worker/workspace
# Declare default working folder
WORKDIR /builds/worker
VOLUME /builds/worker/checkouts VOLUME /builds/worker/checkouts
VOLUME /builds/worker/workspace VOLUME /builds/worker/workspace
VOLUME /builds/worker/tooltool-cache VOLUME /builds/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/
COPY topsrcdir/taskcluster/docker/desktop-build/bin/ /builds/worker/bin/
RUN chmod +x /builds/worker/bin/*
# Add common hg configuration.
# %include taskcluster/docker/centos6-build/hgrc
COPY topsrcdir/taskcluster/docker/centos6-build/hgrc /builds/worker/.hgrc
RUN chown worker:worker /builds/worker/.hgrc
# Set variables normally configured at login, by the shell' parent process,
# these are taken from GNU su manual. Also set DEBIAN_FRONTEND to advise
# apt-get of our situation.
ENV HOME=/builds/worker \
SHELL=/bin/bash \
USER=worker \
LOGNAME=worker \
HOSTNAME=taskcluster-worker \
DEBIAN_FRONTEND=noninteractive
# Set a default command useful for debugging.
CMD ["/bin/bash", "--login"]
# Set apt sources list to a snapshot.
COPY sources.list /etc/apt/
# We need i386 packages for the Android SDK.
# Once https://bugzilla.mozilla.org/show_bug.cgi?id=1370119 is in-tree, we
# will have 64-bit builds of everything, and we can then remove this and
# the :i386 packages we install below.
RUN dpkg --add-architecture i386
RUN apt-get update -q && \
apt-get install -yyq --no-install-recommends \
autoconf2.13 \
build-essential \
base-files \
ca-certificates \
ccache \
cmake \
curl \
gnupg \
make \
procps \
python \
python-cryptography \
python-dev \
python-pip \
python-setuptools \
python-virtualenv \
sudo \
tar \
unzip \
uuid \
wget \
xz-utils \
yasm \
zip \
libstdc++6:i386 \
libgcc1:i386 \
zlib1g:i386 \
libncurses5:i386 \
&& \
apt-get clean
# %include python/mozbuild/mozbuild/action/tooltool.py # %include python/mozbuild/mozbuild/action/tooltool.py
COPY topsrcdir/python/mozbuild/mozbuild/action/tooltool.py /build/tooltool.py
COPY topsrcdir/python/mozbuild/mozbuild/action/tooltool.py /builds/tooltool.py
COPY topsrcdir/python/mozbuild/mozbuild/action/tooltool.py /setup/tooltool.py COPY topsrcdir/python/mozbuild/mozbuild/action/tooltool.py /setup/tooltool.py
COPY topsrcdir/python/mozbuild/mozbuild/action/tooltool.py /tmp/tooltool.py
# %include testing/mozharness/external_tools/robustcheckout.py # %include testing/mozharness/external_tools/robustcheckout.py
COPY topsrcdir/testing/mozharness/external_tools/robustcheckout.py /usr/local/mercurial/robustcheckout.py COPY topsrcdir/testing/mozharness/external_tools/robustcheckout.py /usr/local/mercurial/robustcheckout.py
@ -99,52 +29,70 @@ COPY topsrcdir/taskcluster/docker/recipes/install-make.sh /setup/install-make.sh
# %include taskcluster/docker/recipes/install-cmake.sh # %include taskcluster/docker/recipes/install-cmake.sh
COPY topsrcdir/taskcluster/docker/recipes/install-cmake.sh /setup/install-cmake.sh COPY topsrcdir/taskcluster/docker/recipes/install-cmake.sh /setup/install-cmake.sh
# %include taskcluster/docker/recipes/debian-build-system-setup.sh # %include taskcluster/docker/recipes/centos6-build-system-setup.sh
COPY topsrcdir/taskcluster/docker/recipes/debian-build-system-setup.sh /setup/system-setup.sh COPY topsrcdir/taskcluster/docker/recipes/centos6-build-system-setup.sh /setup/system-setup.sh
# %include taskcluster/docker/recipes/centos-install-debug-symbols.sh
COPY 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 RUN bash /setup/system-setup.sh
# Add wrapper scripts for xvfb allowing tasks to easily retry starting up xvfb. # Add wrapper scripts for xvfb allowing tasks to easily retry starting up xvfb
# %include taskcluster/docker/recipes/xvfb.sh # %include taskcluster/docker/recipes/xvfb.sh
COPY topsrcdir/taskcluster/docker/recipes/xvfb.sh /builds/worker/scripts/xvfb.sh COPY topsrcdir/taskcluster/docker/recipes/xvfb.sh /builds/worker/scripts/xvfb.sh
# %include taskcluster/docker/recipes/run-task # %include taskcluster/docker/recipes/run-task
COPY topsrcdir/taskcluster/docker/recipes/run-task /builds/worker/bin/run-task COPY topsrcdir/taskcluster/docker/recipes/run-task /builds/worker/bin/run-task
# Add pip configuration, among other things. # Add configuration
COPY dot-config /builds/worker/.config COPY dot-config /builds/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 # 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 # 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 # be in the parent of the workspace directory and in the directory where
# mozharness is run (not its --work-dir). See Bug 1169652. # mozharness is run (not its --work-dir). See Bug 1169652.
# %include taskcluster/docker/desktop-build/oauth.txt ADD oauth.txt /builds/worker/
COPY topsrcdir/taskcluster/docker/desktop-build/oauth.txt /builds/worker/
# Add a stubbed out buildprops, which keeps mozharness from choking. # stubbed out buildprops, which keeps mozharness from choking
# Note that this needs to be in the parent of the workspace directory and in # 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). # the directory where mozharness is run (not its --work-dir)
# %include taskcluster/docker/desktop-build/buildprops.json ADD buildprops.json /builds/worker/
COPY topsrcdir/taskcluster/docker/desktop-build/buildprops.json /builds/worker/
# END ../desktop-build/Dockerfile
# Reset user/workdir from parent image so we can install software. # Reset user/workdir from parent image so we can install software.
WORKDIR / WORKDIR /
USER root USER root
# Update base.
RUN rpm --rebuilddb && yum upgrade -y
# Install Sonatype Nexus. Cribbed directly from # Install Sonatype Nexus. Cribbed directly from
# https://github.com/sonatype/docker-nexus/blob/fffd2c61b2368292040910c055cf690c8e76a272/oss/Dockerfile. # https://github.com/sonatype/docker-nexus/blob/fffd2c61b2368292040910c055cf690c8e76a272/oss/Dockerfile.
# Observe missing --no-install-recommends, in order to install glib2.0/gconf/etc. # Install the screen package here to use with xvfb.
RUN apt-get install -yyq \ # Move installation to base centos6-build image once Bug 1272629 is fixed
libgconf2-4 \ # tzdata-java is symlinked from the JRE: see https://bugzilla.redhat.com/show_bug.cgi?id=1130800
libgnome2-0 \ RUN rpm --rebuilddb && yum install -y \
openjdk-8-jdk-headless \ createrepo \
&& \ curl \
apt-get clean screen \
sudo \
tar \
tzdata-java \
unzip \
wget \
zip \
&& yum clean all
ENV NEXUS_VERSION=2.12.0-01 \ ENV NEXUS_VERSION 2.12.0-01
NEXUS_SHA1SUM=1a9aaad8414baffe0a2fd46eed1f41b85f4049e6 \ ENV NEXUS_SHA1SUM 1a9aaad8414baffe0a2fd46eed1f41b85f4049e6
NEXUS_WORK=/builds/worker/workspace/nexus
RUN mkdir -p /opt/sonatype/nexus RUN mkdir -p /opt/sonatype/nexus
@ -163,7 +111,10 @@ RUN tar zxf nexus-${NEXUS_VERSION}-bundle.tar.gz \
&& rm -rf /tmp/nexus-${NEXUS_VERSION}-bundle.tar.gz && rm -rf /tmp/nexus-${NEXUS_VERSION}-bundle.tar.gz
# So that we don't have to RUN_AS_USER=root. # So that we don't have to RUN_AS_USER=root.
RUN chown -R worker:worker /opt/sonatype RUN chown -R worker:worker /opt/sonatype/nexus/
# Back to the workdir, matching desktop-build. # Back to the centos6-build workdir, matching desktop-build.
WORKDIR /builds/worker WORKDIR /builds/worker
# Set a default command useful for debugging
CMD ["/bin/bash", "--login"]

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

@ -0,0 +1,9 @@
{
"properties": {
"buildername": ""
},
"sourcestamp": {
"changes": []
},
"comments": "TaskCluster Job"
}

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

@ -0,0 +1,2 @@
taskcluster_clientId = None
taskcluster_accessToken = None

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

@ -1,3 +0,0 @@
deb [check-valid-until=no] http://snapshot.debian.org/archive/debian/20170830T000511Z/ stretch main
deb [check-valid-until=no] http://snapshot.debian.org/archive/debian/20170830T000511Z/ stretch-updates main
deb [check-valid-until=no] http://snapshot.debian.org/archive/debian-security/20170830T000511Z/ stretch/updates main

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

@ -1,11 +0,0 @@
#!/bin/bash
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
cd /setup
. /setup/common.sh
. /setup/install-mercurial.sh
rm -rf /setup

17
taskcluster/docker/recipes/install-mercurial.sh Executable file → Normal file
Просмотреть файл

@ -27,23 +27,6 @@ if [ -f /etc/lsb-release ]; then
CERT_PATH=/etc/ssl/certs/ca-certificates.crt CERT_PATH=/etc/ssl/certs/ca-certificates.crt
elif [ -f /etc/os-release ]; then
. /etc/os-release
if [ "${ID}" = "debian" -a "${VERSION_ID}" = "9" ]; then
if [ -f /usr/bin/pip2 ]; then
PIP_PATH=/usr/bin/pip2
else
echo "We currently require Python 2.7 and /usr/bin/pip2 to run Mercurial"
exit 1
fi
else
echo "Unsupported debian-like system with ID '${ID}' and VERSION_ID '${VERSION_ID}'"
exit 1
fi
CERT_PATH=/etc/ssl/certs/ca-certificates.crt
elif [ -f /etc/centos-release ]; then elif [ -f /etc/centos-release ]; then
CENTOS_VERSION=`rpm -q --queryformat '%{VERSION}' centos-release` CENTOS_VERSION=`rpm -q --queryformat '%{VERSION}' centos-release`
if [ "${CENTOS_VERSION}" = "6" ]; then if [ "${CENTOS_VERSION}" = "6" ]; then

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

@ -19,10 +19,17 @@ tar cJf android-sdk-linux.tar.xz android-sdk-linux
mkdir -p /builds/worker/private/android-sdk mkdir -p /builds/worker/private/android-sdk
mv android-sdk-linux.tar.xz /builds/worker/private/android-sdk mv android-sdk-linux.tar.xz /builds/worker/private/android-sdk
cp -R ${NEXUS_WORK}/storage/jcenter jcenter cp -R $WORKSPACE/build/src/java_home java_home
tar cJf java_home.tar.xz java_home
# We can't redistribute Java publicly.
mkdir -p /builds/worker/private/java_home
mv java_home.tar.xz /builds/worker/private/java_home
cp -R $WORKSPACE/nexus/storage/jcenter jcenter
tar cJf jcenter.tar.xz jcenter tar cJf jcenter.tar.xz jcenter
cp -R ${NEXUS_WORK}/storage/google google cp -R $WORKSPACE/nexus/storage/google google
tar cJf google.tar.xz google tar cJf google.tar.xz google
# The Gradle wrapper will have downloaded and verified the hash of exactly one # The Gradle wrapper will have downloaded and verified the hash of exactly one

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

@ -8,10 +8,21 @@ echo "running as" $(id)
set -v set -v
mkdir -p ${NEXUS_WORK}/conf mkdir -p ${WORKSPACE}/nexus/conf
cp /builds/worker/workspace/build/src/taskcluster/scripts/builder/build-android-dependencies/nexus.xml ${NEXUS_WORK}/conf/nexus.xml cp /builds/worker/workspace/build/src/taskcluster/scripts/builder/build-android-dependencies/nexus.xml ${WORKSPACE}/nexus/conf/nexus.xml
RUN_AS_USER=worker /opt/sonatype/nexus/bin/nexus restart # Populate /builds/worker/workspace/build/src/java_home.
. $WORKSPACE/build/src/taskcluster/scripts/builder/build-android-dependencies/repackage-jdk-centos.sh
mv $WORKSPACE/java/usr/lib/jvm/java_home $WORKSPACE/build/src/java_home
export JAVA_HOME=$WORKSPACE/build/src/java_home
export PATH=$PATH:$JAVA_HOME/bin
# Populate /builds/worker/.mozbuild/android-sdk-linux.
python2.7 $WORKSPACE/build/src/python/mozboot/mozboot/android.py --artifact-mode --no-interactive
RUN_AS_USER=worker NEXUS_WORK=$WORKSPACE/nexus /opt/sonatype/nexus/bin/nexus restart
# Wait "a while" for Nexus to actually start. Don't fail if this fails. # Wait "a while" for Nexus to actually start. Don't fail if this fails.
wget --quiet --retry-connrefused --waitretry=2 --tries=100 \ wget --quiet --retry-connrefused --waitretry=2 --tries=100 \
@ -23,9 +34,3 @@ curl http://localhost:8081/nexus/service/local/status || true
# Verify Nexus has actually started. Fail if this fails. # Verify Nexus has actually started. Fail if this fails.
curl --fail --silent --location http://localhost:8081/nexus/service/local/status | grep '<state>STARTED</state>' curl --fail --silent --location http://localhost:8081/nexus/service/local/status | grep '<state>STARTED</state>'
# It's helpful when debugging to see the repository configurations.
curl http://localhost:8081/nexus/service/local/repositories || true
# Populate /builds/worker/.mozbuild/android-sdk-linux.
python2.7 /builds/worker/workspace/build/src/python/mozboot/mozboot/android.py --artifact-mode --no-interactive