diff options
author | Michael Drake <michael.drake@codethink.co.uk> | 2014-08-07 10:19:47 +0000 |
---|---|---|
committer | Michael Drake <michael.drake@codethink.co.uk> | 2014-08-07 10:19:47 +0000 |
commit | e752380753b9657c60bae790c10f2a0867e56009 (patch) | |
tree | d7d7663723495e61da0bf2a2b4c95a3296cc0233 /mason/mason.sh | |
parent | b782018ff9f04190574b1d482655b1945521daf0 (diff) | |
parent | 2bae2433c5dc35097bca0165ab50a433ef95d738 (diff) | |
download | definitions-e752380753b9657c60bae790c10f2a0867e56009.tar.gz |
Merge branch 'baserock/michaeldrake/mason-devel'
Reviewed-By: Lars Wirzenius <lars.wirzenius@codethink.co.uk>
Diffstat (limited to 'mason/mason.sh')
-rwxr-xr-x | mason/mason.sh | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/mason/mason.sh b/mason/mason.sh new file mode 100755 index 00000000..dfed71f7 --- /dev/null +++ b/mason/mason.sh @@ -0,0 +1,70 @@ +#!/bin/sh + +set -e +set -x + +# Load our deployment config +. /root/mason.conf + +if [ ! -e ws ]; then + morph init ws +fi +cd ws + +definitions_repo="$DEFINITIONS_REF"/"$UPSTREAM_TROVE_ADDRESS"/baserock/baserock/definitions +if [ ! -e "$definitions_repo" ]; then + morph checkout git://"$UPSTREAM_TROVE_ADDRESS"/baserock/baserock/definitions.git "$DEFINITIONS_REF" + cd "$definitions_repo" + git config user.name "$TROVE_ID"-mason + git config user.email "$TROVE_ID"-mason@$(hostname) +else + cd "$definitions_repo" + SHA1_PREV="$(git rev-parse HEAD)" +fi + +git remote update origin +git clean -fxd +git reset --hard origin/"$DEFINITIONS_REF" + +SHA1="$(git rev-parse HEAD)" + +if [ -f "$HOME/success" ] && [ "$SHA1" = "$SHA1_PREV" ]; then + echo INFO: No changes to "$DEFINITIONS_REF", nothing to do + exit 33 +fi + +rm -f "$HOME/success" + +echo INFO: Mason building: $DEFINITIONS_REF at $SHA1 + +"scripts/release-build" --no-default-configs \ + --trove-host "$UPSTREAM_TROVE_ADDRESS" \ + --controllers "$DISTBUILD_ARCH:$DISTBUILD_CONTROLLER_ADDRESS" \ + "$BUILD_CLUSTER_MORPHOLOGY" + +releases_made="$(cd release && ls | wc -l)" +if [ "$releases_made" = 0 ]; then + echo ERROR: No release images created + exit 1 +else + echo INFO: Created "$releases_made" release images +fi + +"scripts/release-test" \ + --deployment-host "$DISTBUILD_ARCH":"$TEST_VM_HOST_SSH_URL" \ + --trove-host "$DISTBUILD_TROVE_ADDRESS" \ + --trove-id "$TROVE_ID" \ + "$BUILD_CLUSTER_MORPHOLOGY" + +"scripts/release-upload" --build-trove-host "$DISTBUILD_TROVE_ADDRESS" \ + --arch "$DISTBUILD_ARCH" \ + --log-level=debug --log="$HOME"/release-upload.log \ + --public-trove-host "$UPSTREAM_TROVE_ADDRESS" \ + --public-trove-username root \ + --public-trove-artifact-dir /home/cache/artifacts \ + --no-upload-release-artifacts \ + "$BUILD_CLUSTER_MORPHOLOGY" + +echo INFO: Artifact upload complete for $DEFINITIONS_REF at $SHA1 + +touch "$HOME/success" |