aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/report_errors.sh
diff options
context:
space:
mode:
authorChris Purta <cpurta@kochava.com>2018-11-15 07:05:20 +0800
committerchriseth <chris@ethereum.org>2018-11-26 22:43:17 +0800
commit5c67821af48c307d4b3da9b0cc50b4d447e8eae2 (patch)
tree16e039fc2b572eb84de69178b8238584fcda26bd /scripts/report_errors.sh
parentf1cebed998cd805cec3f37d42a18f3632399b866 (diff)
downloaddexon-solidity-5c67821af48c307d4b3da9b0cc50b4d447e8eae2.tar.gz
dexon-solidity-5c67821af48c307d4b3da9b0cc50b4d447e8eae2.tar.zst
dexon-solidity-5c67821af48c307d4b3da9b0cc50b4d447e8eae2.zip
Script that directly comments errors to the github pull request.
Diffstat (limited to 'scripts/report_errors.sh')
-rwxr-xr-xscripts/report_errors.sh49
1 files changed, 49 insertions, 0 deletions
diff --git a/scripts/report_errors.sh b/scripts/report_errors.sh
new file mode 100755
index 00000000..55fc2e8c
--- /dev/null
+++ b/scripts/report_errors.sh
@@ -0,0 +1,49 @@
+#!/usr/bin/env bash
+
+export ERROR_LOG="/tmp/error.log"
+
+function report_error_to_github
+{
+ if [ $? -eq 0 ]
+ then
+ exit 0
+ fi
+
+ if [ -z $CIRCLE_PR_NUMBER ]
+ then
+ CIRCLE_PR_NUMBER="${CIRCLE_PULL_REQUEST//[^0-9]/}"
+ fi
+
+ ERROR_MSG=$(cat $ERROR_LOG)
+
+ echo $ERROR_MSG
+
+ if [ ! -z $CI ]
+ then
+ echo "posting error message to github"
+ post_error_to_github
+ fi
+}
+
+function post_error_to_github
+{
+ if [ -z $CIRCLE_PR_NUMBER ]
+ then
+ CIRCLE_PR_NUMBER="${CIRCLE_PULL_REQUEST//[^0-9]/}"
+ fi
+
+ GITHUB_API_URL="https://api.github.com/repos/$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/issues/$CIRCLE_PR_NUMBER/comments"
+
+ ESCAPED_ERROR_MSG=$(cat -e $ERROR_LOG | sed 's/\\/\\\\/g' | sed 's/"/\\\"/g')
+
+ FORMATTED_ERROR_MSG=$(echo $ESCAPED_ERROR_MSG | sed 's/\$/\\n/g' | tr -d '\n')
+
+ curl --request POST \
+ --url $GITHUB_API_URL \
+ --header 'accept: application/vnd.github.v3+json' \
+ --header 'content-type: application/json' \
+ -u stackenbotten:$GITHUB_ACCESS_TOKEN \
+ --data "{\"body\": \"There was an error when running \`$CIRCLE_JOB\` for commit \`$CIRCLE_SHA1\`:\n\`\`\`\n$FORMATTED_ERROR_MSG\n\`\`\`\nPlease check that your changes are working as intended.\"}"
+}
+
+trap report_error_to_github EXIT