From f682942f96c6b6a334a0167987abe3a891ca3814 Mon Sep 17 00:00:00 2001 From: David Cian Date: Mon, 16 Mar 2020 14:23:12 +0100 Subject: [PATCH] Make CircleCI post diff review for style violation The CircleCI robot now also posts a review comment directly on the diff (on GitHub, the changes tab), where the style violations take place. --- scripts/report_errors.sh | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/scripts/report_errors.sh b/scripts/report_errors.sh index 55fc2e8c6..795cb0067 100755 --- a/scripts/report_errors.sh +++ b/scripts/report_errors.sh @@ -44,6 +44,28 @@ function post_error_to_github --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.\"}" + + post_review_comment_to_github +} + +function post_review_comment_to_github +{ + GITHUB_API_URL="https://api.github.com/repos/$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/pulls/$CIRCLE_PR_NUMBER/comments" + + sed -i 1d $ERROR_LOG + + while read line + do + ERROR_PATH=$(echo $line | grep -oE ".*\.cpp") + ERROR_LINE=$(echo $line | grep -oE "[0-9]*") + + curl --request POST \ + --url $GITHUB_API_URL \ + --header 'accept: application/vnd.github.v3+json, application/vnd.github.comfort-fade-preview+json' \ + --header 'content-type: application/json' \ + -u stackenbotten:$GITHUB_ACCESS_TOKEN \ + --data "{\"commit_id\": \"$CIRCLE_SHA1\", \"path\": \"$ERROR_PATH\", \"line\": $ERROR_LINE, \"side\": \"LEFT\", \"body\": \"Coding style error\"}" + done < $ERROR_LOG } trap report_error_to_github EXIT