зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1427326 - Add a Debian 7-based docker image for toolchain builds. r=dustin
--HG-- extra : rebase_source : 97992266ffabc0db2d3e9eea567c3bd841aec936
This commit is contained in:
Родитель
dbeab088d2
Коммит
2b4b15ad7e
|
@ -4,6 +4,9 @@
|
|||
|
||||
loader: taskgraph.loader.transform:loader
|
||||
|
||||
kind-dependencies:
|
||||
- packages
|
||||
|
||||
transforms:
|
||||
- taskgraph.transforms.docker_image:transforms
|
||||
- taskgraph.transforms.task:transforms
|
||||
|
@ -20,6 +23,10 @@ jobs:
|
|||
symbol: I(db)
|
||||
valgrind-build:
|
||||
symbol: I(vb)
|
||||
toolchain-build:
|
||||
symbol: I(toolchain)
|
||||
packages:
|
||||
- deb7-python
|
||||
lint:
|
||||
symbol: I(lnt)
|
||||
android-build:
|
||||
|
|
|
@ -0,0 +1,102 @@
|
|||
FROM debian:wheezy-20171210
|
||||
MAINTAINER Mike Hommey <mhommey@mozilla.com>
|
||||
|
||||
### Add worker user and setup its workspace.
|
||||
RUN mkdir /builds && \
|
||||
groupadd -g 500 worker && \
|
||||
useradd -u 500 -g 500 -d /builds/worker -s /bin/bash -m worker && \
|
||||
mkdir -p /builds/worker/workspace && \
|
||||
chown -R worker:worker /builds
|
||||
|
||||
# Declare default working folder
|
||||
WORKDIR /builds/worker
|
||||
|
||||
VOLUME /builds/worker/checkouts
|
||||
VOLUME /builds/worker/workspace
|
||||
VOLUME /builds/worker/tooltool-cache
|
||||
|
||||
# Set variable normally configured at login, by the shells parent process, these
|
||||
# are taken from GNU su manual
|
||||
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.
|
||||
RUN for s in debian_wheezy debian_wheezy-updates debian_wheezy-backports debian-security_wheezy/updates; do \
|
||||
echo "deb http://snapshot.debian.org/archive/${s%_*}/20171210T214726Z/ ${s#*_} main"; \
|
||||
done > /etc/apt/sources.list
|
||||
|
||||
RUN apt-get -o Acquire::Check-Valid-Until=false update -q && \
|
||||
apt-get install -yyq --no-install-recommends \
|
||||
apt-transport-https \
|
||||
ca-certificates
|
||||
|
||||
# %ARG DOCKER_IMAGE_PACKAGES
|
||||
RUN for task in $DOCKER_IMAGE_PACKAGES; do \
|
||||
echo "deb [trusted=yes] https://queue.taskcluster.net/v1/task/$task/runs/0/artifacts/public/build/ debian/" >> /etc/apt/sources.list; \
|
||||
done
|
||||
|
||||
RUN dpkg --add-architecture i386
|
||||
|
||||
RUN apt-get -o Acquire::Check-Valid-Until=false update -q && \
|
||||
apt-get install -yyq --no-install-recommends \
|
||||
autoconf \
|
||||
automake \
|
||||
bison \
|
||||
build-essential \
|
||||
curl \
|
||||
flex \
|
||||
gawk \
|
||||
gcc-multilib \
|
||||
git \
|
||||
gnupg \
|
||||
libtool \
|
||||
make \
|
||||
p7zip-full \
|
||||
procps \
|
||||
pxz/wheezy-backports \
|
||||
python-dev \
|
||||
python-pip \
|
||||
python-setuptools \
|
||||
python-virtualenv \
|
||||
subversion \
|
||||
tar \
|
||||
unzip \
|
||||
uuid \
|
||||
wget \
|
||||
xz-utils \
|
||||
zip \
|
||||
&& \
|
||||
apt-get clean
|
||||
|
||||
# %include python/mozbuild/mozbuild/action/tooltool.py
|
||||
COPY topsrcdir/python/mozbuild/mozbuild/action/tooltool.py /setup/tooltool.py
|
||||
|
||||
# %include testing/mozharness/external_tools/robustcheckout.py
|
||||
COPY topsrcdir/testing/mozharness/external_tools/robustcheckout.py /usr/local/mercurial/robustcheckout.py
|
||||
|
||||
# %include taskcluster/docker/recipes/common.sh
|
||||
COPY topsrcdir/taskcluster/docker/recipes/common.sh /setup/common.sh
|
||||
|
||||
# %include taskcluster/docker/recipes/install-mercurial.sh
|
||||
COPY topsrcdir/taskcluster/docker/recipes/install-mercurial.sh /setup/install-mercurial.sh
|
||||
|
||||
# %include taskcluster/docker/recipes/debian-build-system-setup.sh
|
||||
COPY topsrcdir/taskcluster/docker/recipes/debian-build-system-setup.sh /setup/system-setup.sh
|
||||
|
||||
RUN bash /setup/system-setup.sh
|
||||
|
||||
# Add pip configuration, among other things.
|
||||
# %include taskcluster/docker/recipes/dot-config
|
||||
COPY topsrcdir/taskcluster/docker/recipes/dot-config /builds/worker/.config
|
||||
|
||||
# %include taskcluster/docker/recipes/run-task
|
||||
COPY topsrcdir/taskcluster/docker/recipes/run-task /builds/worker/bin/run-task
|
||||
|
||||
RUN chown -R worker:worker /builds/worker/bin && chmod 755 /builds/worker/bin/*
|
Загрузка…
Ссылка в новой задаче