comparison SCRIPTS/dockerbuild.sh @ 128:3a8658f7e0b7

Add script to run build in Docker
author Chris Cannam
date Thu, 07 Feb 2019 11:38:32 +0000
parents
children
comparison
equal deleted inserted replaced
127:622ddc1ace50 128:3a8658f7e0b7
1 #!/bin/bash
2 #
3 # Docker required!
4
5 if [ -z "$1" ] || [ -z "$2" ]; then
6 echo "Usage: $0 <repo> <repo-revision-id>"
7 exit 2
8 fi
9
10 platform=ubuntu1604
11 dockerfile=SCRIPTS/Dockerfile_$platform
12
13 mkdir -p "PACKAGES/$platform"
14
15 if [ ! -f "$dockerfile.in" ]; then
16 echo "Docker file source $dockerfile.in not found (are we in the right directory?"
17 exit 1
18 fi
19
20 set -eu
21
22 repo="$1"
23 repo_revision="$2"
24
25 current=$(hg id | awk '{ print $1; }')
26
27 case "$current" in
28 *+) echo "WARNING: Current working copy has been modified - build will check out the last commit, which must perforce be different";;
29 *);;
30 esac
31
32 current=${current%%+}
33
34 cat "$dockerfile.in" \
35 | perl -p -e 's/\[\[REVISION\]\]/'"$current"'/' \
36 | perl -p -e 's/\[\[REPO\]\]/'"$repo"'/' \
37 | perl -p -e 's/\[\[REPOREVISION\]\]/'"$repo_revision"'/' \
38 > "$dockerfile"
39
40 dockertag="cannam/vamp-build-and-test-$current"
41
42 sudo docker build -t "$dockertag" -f "$dockerfile" SCRIPTS
43
44 container=$(sudo docker create "$dockertag")
45 sudo docker cp "$container":vamp-build-and-test/PACKAGES/linux64/ "PACKAGES/$platform"/
46 sudo docker rm "$container"
47
48 echo "Done!"
49