diff options
author | Josip Medved <jmedved@jmedved.com> | 2015-12-24 19:30:52 -0800 |
---|---|---|
committer | Josip Medved <jmedved@jmedved.com> | 2015-12-24 19:47:22 -0800 |
commit | 72839e83e0c9883fdeb8bb5b9b3afd89f9c832e5 (patch) | |
tree | 76e4311021f1f579b638c8f9f92b7fabb171ace0 | |
parent | 0235a6914c94800096c5e1f4828dd1c9cbed8289 (diff) | |
download | WrtSettings-72839e83e0c9883fdeb8bb5b9b3afd89f9c832e5.zip WrtSettings-72839e83e0c9883fdeb8bb5b9b3afd89f9c832e5.tar.gz WrtSettings-72839e83e0c9883fdeb8bb5b9b3afd89f9c832e5.tar.bz2 |
Added checks to publishing script.
-rw-r--r-- | Setup/Publish-GitHub.sh | 61 |
1 files changed, 37 insertions, 24 deletions
diff --git a/Setup/Publish-GitHub.sh b/Setup/Publish-GitHub.sh index 144e3a7..79061fd 100644 --- a/Setup/Publish-GitHub.sh +++ b/Setup/Publish-GitHub.sh @@ -17,34 +17,47 @@ FILE_PREFIX=$REPOSITORY-rev$VERSION_NUMBER-$VERSION_HASH BRANCH=`git rev-parse --abbrev-ref HEAD`
if [[ "$BRANCH" == "master" ]]; then
- DIFF=`git rev-list master..origin/master`
- if [[ "$DIFF" == "" ]]; then
- ./Publish.cmd
+ UNCOMMITED_FILE_COUNT=`git ls | sed 1d | wc -l`
+ if [[ $UNCOMMITED_FILE_COUNT == 0 ]]; then
+ git push --dry-run 2>&1 | grep --quiet "Everything up-to-date"
+ if [[ $? == 0 ]]; then
+ ./Publish.cmd
- RELEASE_URL=`curl -s -H "Authorization: token $TOKEN" https://api.github.com/repos/$OWNER/$REPOSITORY/releases/tags/latest | grep "\"url\"" | head -1 | cut -d\" -f4`
- if [[ "$RELEASE_URL" != "" ]]; then
- curl -s -H "Authorization: token $TOKEN" -X DELETE $RELEASE_URL
- fi
-
- git push origin :refs/tags/latest 2> /dev/null
-
- ASSET_UPLOAD_URL=`curl -s -H "Authorization: token $TOKEN" --data "{\"tag_name\": \"latest\", \"target_commitish\": \"master\", \"name\": \"Most recent build\", \"body\": \"This is the most recent automated build.\n\nFor the latest stable release go to http://jmedved.com/$REPOSITORY/.\", \"draft\": false, \"prerelease\": true}" -X POST https://api.github.com/repos/$OWNER/$REPOSITORY/releases | grep "\"upload_url\"" | cut -d\" -f4 | cut -d{ -f1`
- for FILE_EXTENSION in "exe" "zip"; do
- UPLOAD_RESULT=`curl -s -H "Authorization: token $TOKEN" -H "Content-Type: application/octet-stream" --data-binary @../Releases/$FILE_PREFIX.$FILE_EXTENSION -X POST $ASSET_UPLOAD_URL?name=$FILE_PREFIX.$FILE_EXTENSION`
- echo $UPLOAD_RESULT | grep --quiet "browser_download_url"
- if [[ $? == 0 ]]; then
- echo "$FILE_PREFIX.$FILE_EXTENSION"
- else
- echo "Failed upload for $FILE_PREFIX.$FILE_EXTENSION"
-
- RELEASE_URL=`curl -s -H "Authorization: token $TOKEN" https://api.github.com/repos/$OWNER/$REPOSITORY/releases/tags/latest | grep "\"url\"" | head -1 | cut -d\" -f4`
+ for FILE_EXTENSION in "exe" "zip"; do
+ if [ ! -e ../Releases/$FILE_PREFIX.$FILE_EXTENSION ]; then
+ echo "Executables cannot be found." >&2
+ exit 1
+ fi
+ done
+
+ RELEASE_URL=`curl -s -H "Authorization: token $TOKEN" https://api.github.com/repos/$OWNER/$REPOSITORY/releases/tags/latest | grep "\"url\"" | head -1 | cut -d\" -f4`
+ if [[ "$RELEASE_URL" != "" ]]; then
curl -s -H "Authorization: token $TOKEN" -X DELETE $RELEASE_URL
-
- break;
fi
- done
+
+ git push origin :refs/tags/latest 2> /dev/null
+
+ ASSET_UPLOAD_URL=`curl -s -H "Authorization: token $TOKEN" --data "{\"tag_name\": \"latest\", \"target_commitish\": \"master\", \"name\": \"Most recent build\", \"body\": \"This is the most recent automated build.\n\nFor the latest stable release go to http://jmedved.com/$REPOSITORY/.\", \"draft\": false, \"prerelease\": true}" -X POST https://api.github.com/repos/$OWNER/$REPOSITORY/releases | grep "\"upload_url\"" | cut -d\" -f4 | cut -d{ -f1`
+ for FILE_EXTENSION in "exe" "zip"; do
+ UPLOAD_RESULT=`curl -s -H "Authorization: token $TOKEN" -H "Content-Type: application/octet-stream" --data-binary @../Releases/$FILE_PREFIX.$FILE_EXTENSION -X POST $ASSET_UPLOAD_URL?name=$FILE_PREFIX.$FILE_EXTENSION`
+ echo $UPLOAD_RESULT | grep --quiet "browser_download_url"
+ if [[ $? == 0 ]]; then
+ echo "$FILE_PREFIX.$FILE_EXTENSION"
+ else
+ echo "Failed upload for $FILE_PREFIX.$FILE_EXTENSION" >&2
+
+ RELEASE_URL=`curl -s -H "Authorization: token $TOKEN" https://api.github.com/repos/$OWNER/$REPOSITORY/releases/tags/latest | grep "\"url\"" | head -1 | cut -d\" -f4`
+ curl -s -H "Authorization: token $TOKEN" -X DELETE $RELEASE_URL
+
+ exit 1;
+ fi
+ done
+ else
+ echo "Not all changes have been pushed to origin." >&2
+ exit 1
+ fi
else
- echo "Not all changes have been pushed to origin." >&2
+ echo "Not all modified files are commited." >&2
exit 1
fi
else
|