Commit b28c062f0e6542aacd81fb3532b8818a05df5659

Authored by Jacob Vosmaer
1 parent 3a9db618

Make error handling and control flow more verbose

Showing 1 changed file with 27 additions and 7 deletions   Show diff stats
release.sh
... ... @@ -9,13 +9,33 @@ function error_exit
9 9 exit 1
10 10 }
11 11  
12   -git diff --quiet HEAD || error_exit 'uncommited changes'
13   -git describe --exact-match || error_exit 'HEAD is not tagged'
14   -bin/omnibus clean --purge ${PROJECT} || error_exit 'clean failed'
15   -touch build.txt
16   -OMNIBUS_APPEND_TIMESTAMP=0 bin/omnibus build project ${PROJECT} || error_exit 'build failed'
  12 +if !(git diff --quiet HEAD); then
  13 + error_exit 'uncommited changes'
  14 +fi
  15 +
  16 +if !(git describe --exact-match); then
  17 + error_exit 'HEAD is not tagged'
  18 +fi
  19 +
  20 +if !(bin/omnibus clean --purge ${PROJECT}); then
  21 + error_exit 'clean failed'
  22 +fi
  23 +
  24 +if !(touch build.txt); then
  25 + error_exit 'failed to mark build start time'
  26 +fi
  27 +
  28 +if !(OMNIBUS_APPEND_TIMESTAMP=0 bin/omnibus build project ${PROJECT}); then
  29 + error_exit 'build failed'
  30 +fi
  31 +
17 32 release_package=$(find pkg/ -mnewer build.txt -type f -not -name '*.json')
18 33 if [[ -z ${release_package} ]]; then
19   - error_exit 'Could not find the release package'
  34 + error_exit 'could not find the release package'
20 35 fi
21   -aws s3 cp ${release_package} s3://#{RELEASE_BUCKET} --acl public-read --region ${RELEASE_BUCKET_REGION}
  36 +
  37 +if !(aws s3 cp ${release_package} s3://#{RELEASE_BUCKET} --acl public-read --region ${RELEASE_BUCKET_REGION}); then
  38 + error_exit 'release upload failed'
  39 +fi
  40 +
  41 +echo "$0: package uploaded to https://${RELEASE_BUCKET}.s3.amazonaws.com/${release_package}"
... ...