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.
This commit is contained in:
David Cian 2020-03-16 14:23:12 +01:00 committed by chriseth
parent a7a1feb1b8
commit f682942f96

View File

@ -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