#!/bin/bash if [[ -z "$GITHUB_TOKEN" ]]; then echo "The GITHUB_TOKEN is required." exit 1 fi FILES_LINK=`jq -r '.pull_request._links.self.href' "$GITHUB_EVENT_PATH"`/files echo "Files = $FILES_LINK" curl $FILES_LINK > files.json FILES_URLS_STRING=`jq -r '.[].raw_url' files.json` readarray -t URLS <<<"$FILES_URLS_STRING" echo "File names: $URLS" mkdir files cd files for i in "${URLS[@]}" do echo "Downloading $i" curl -LOk --remote-name $i done echo "Files downloaded!" echo "Performing checkup:" cpplint --filter=-,\ +whitespace/parens,\ +whitespace/indent,\ +whitespace/end_of_line,\ +whitespace/blank_line \ --extension=cpp,h,c \ --recursive \ ./ > cpp-report.txt 2>&1 PAYLOAD_CPPLINT=`cat cpp-report.txt` COMMENTS_URL=$(cat $GITHUB_EVENT_PATH | jq -r .pull_request.comments_url) echo $COMMENTS_URL echo "Cppcheck errors:" echo $PAYLOAD_CPPLINT if [[ $PAYLOAD_CPPLINT == *"Total errors found: "* ]]; then OUTPUT+=$'\n**CODING STYLE CHECK**:\n' OUTPUT+=$'\n```\n' OUTPUT+="$PAYLOAD_CPPLINT" OUTPUT+=$'\n```\n' fi PAYLOAD=$(echo '{}' | jq --arg body "$OUTPUT" '.body = $body') curl -s -S -H "Authorization: token $GITHUB_TOKEN" --header "Content-Type: application/vnd.github.VERSION.text+json" --data "$PAYLOAD" "$COMMENTS_URL"