Skip to content

Commit

Permalink
Bug 1299128 - Create separate, smaller nss-decision docker image r=fr…
Browse files Browse the repository at this point in the history
…anziskus
  • Loading branch information
Tim Taubert committed Aug 31, 2016
1 parent 1d98a50 commit ab5cd01
Show file tree
Hide file tree
Showing 4 changed files with 80 additions and 1 deletion.
2 changes: 1 addition & 1 deletion automation/taskcluster/decision_task.yml
Expand Up @@ -57,7 +57,7 @@ tasks:
- "tc-treeherder.v2.{{project}}.{{revision}}.{{pushlog_id}}"

payload:
image: "ttaubert/nss-ci:0.0.22"
image: ttaubert/nss-decision:0.0.1

env:
TC_OWNER: {{owner}}
Expand Down
27 changes: 27 additions & 0 deletions automation/taskcluster/docker-decision/Dockerfile
@@ -0,0 +1,27 @@
FROM ubuntu:16.04
MAINTAINER Tim Taubert <ttaubert@mozilla.com>

RUN useradd -d /home/worker -s /bin/bash -m worker
WORKDIR /home/worker

# Add build and test scripts.
ADD bin /home/worker/bin
RUN chmod +x /home/worker/bin/*

# Install dependencies.
ADD setup.sh /tmp/setup.sh
RUN bash /tmp/setup.sh

# Env variables.
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
ENV HOST localhost
ENV DOMSUF localdomain

# Set a default command for debugging.
CMD ["/bin/bash", "--login"]
20 changes: 20 additions & 0 deletions automation/taskcluster/docker-decision/bin/checkout.sh
@@ -0,0 +1,20 @@
#!/usr/bin/env bash

set -v -e -x

if [ $(id -u) = 0 ]; then
# Drop privileges by re-running this script.
exec su worker $0
fi

# Default values for testing.
REVISION=${NSS_HEAD_REVISION:-default}
REPOSITORY=${NSS_HEAD_REPOSITORY:-https://hg.mozilla.org/projects/nss}

# Clone NSS.
for i in 0 2 5; do
sleep $i
hg clone -r $REVISION $REPOSITORY nss && exit 0
rm -rf nss
done
exit 1
32 changes: 32 additions & 0 deletions automation/taskcluster/docker-decision/setup.sh
@@ -0,0 +1,32 @@
#!/usr/bin/env bash

set -v -e -x

# Update packages.
export DEBIAN_FRONTEND=noninteractive
apt-get -y update && apt-get -y upgrade

# Need this to add keys for PPAs below.
apt-get install -y --no-install-recommends apt-utils

apt_packages=()
apt_packages+=('npm')

# Latest Mercurial.
apt_packages+=('mercurial')
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 41BD8711B1F0EC2B0D85B91CF59CE3A8323293EE
echo "deb http://ppa.launchpad.net/mercurial-ppa/releases/ubuntu xenial main" > /etc/apt/sources.list.d/mercurial.list

# Install packages.
apt-get -y update
apt-get install -y --no-install-recommends ${apt_packages[@]}

locale-gen en_US.UTF-8
dpkg-reconfigure locales

# Cleanup.
rm -rf ~/.ccache ~/.cache
apt-get autoremove -y
apt-get clean
apt-get autoclean
rm $0

0 comments on commit ab5cd01

Please sign in to comment.