annotate SCRIPTS/dockerbuild.sh @ 133:4acb5d8d80b6 tip

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