gecko-dev/testing/docker/ubuntu-build/Dockerfile
Morgan Phillips 2478a186eb Bug 1125973: Docker images for building Firefox Desktop and for Android; r=garndt
This creates two images:

 * ubuntu-build is a basic Ubuntu Trusty image with the build prerequisites
   installed via MozBootstrap (plus some additional requirements).  It also
   contains the worker user and basic directory structure expected by
   Mozharness.

 * desktop-build is a refinement of ubuntu-build with specifics for building
   Firefox Desktop (and, as it turns out, Firefox for Android).  It sports a
   `bin/build.sh` which acts as a fairly generic mozharness-runner that first
   checks out the desired source code revisions, then invokes Mozharness.  It
   supports:

    * caches -- tooltool, workspace, tc-vcs
    * starting and stopping Xvfb if necessary (desktop tests require this)
    * specifying mozharness build variant, branch, and build pool
    * supplying a RelengAPI token
    * copying uploads to the artifacts directory
2015-05-12 16:22:09 -04:00

37 lines
1.2 KiB
Docker

FROM ubuntu:14.04
MAINTAINER Morgan Reece Phillips <winter2718@gmail.com>
### add worker user and setup its workspace
RUN useradd -d /home/worker -s /bin/bash -m worker
# install non-build specific dependencies in a single layer
ADD system-setup.sh /tmp/system-setup.sh
RUN bash /tmp/system-setup.sh
# configure git and install tc-vcs
RUN git config --global user.email "nobody@mozilla.com" && \
git config --global user.name "mozilla"
RUN npm install -g taskcluster-vcs@2.3.5 || true
# Ensure that build specific dependencies live in a single layer
ADD build-setup.sh /tmp/build-setup.sh
RUN bash /tmp/build-setup.sh
# Builds need the share module enabled
ADD hgrc /home/worker/.hgrc
# 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
# Declare default working folder
RUN chown -R worker:worker /home/worker/* /home/worker/.*
WORKDIR /home/worker
# Set a default command useful for debugging
CMD ["/bin/bash", "--login"]