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
@@ -9,13 +9,33 @@ function error_exit @@ -9,13 +9,33 @@ function error_exit
9 exit 1 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 release_package=$(find pkg/ -mnewer build.txt -type f -not -name '*.json') 32 release_package=$(find pkg/ -mnewer build.txt -type f -not -name '*.json')
18 if [[ -z ${release_package} ]]; then 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 fi 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}"