summaryrefslogtreecommitdiffstats
path: root/security/nss/automation/taskcluster/scripts/build_image.sh
blob: 3a469cf2247b2303685471f9637b6e846a548cd4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/bin/bash -vex

set -x -e -v

# Prefix errors with taskcluster error prefix so that they are parsed by Treeherder
raise_error() {
   echo
   echo "[taskcluster-image-build:error] $1"
   exit 1
}

# Ensure that the PROJECT is specified so the image can be indexed
test -n "$PROJECT" || raise_error "Project must be provided."
test -n "$HASH" || raise_error "Context Hash must be provided."

CONTEXT_PATH="/home/worker/nss/$CONTEXT_PATH"

test -d "$CONTEXT_PATH" || raise_error "Context Path $CONTEXT_PATH does not exist."
test -f "$CONTEXT_PATH/Dockerfile" || raise_error "Dockerfile must be present in $CONTEXT_PATH."

apt-get update
apt-get -y install zstd

docker build -t "$PROJECT:$HASH" "$CONTEXT_PATH"

mkdir /artifacts
docker save "$PROJECT:$HASH" | zstd > /artifacts/image.tar.zst