From e2c7599769240c5719169df0369aaf655b507e83 Mon Sep 17 00:00:00 2001 From: JunsuChoi Date: Fri, 12 Nov 2021 16:35:07 +0900 Subject: [PATCH] infra bot: Hotfix memcheck bot for push event --- .github/workflows/memcheck_valgrind.sh | 52 +++++++++++++++----------- 1 file changed, 30 insertions(+), 22 deletions(-) diff --git a/.github/workflows/memcheck_valgrind.sh b/.github/workflows/memcheck_valgrind.sh index 3dd59c80..9bd81523 100755 --- a/.github/workflows/memcheck_valgrind.sh +++ b/.github/workflows/memcheck_valgrind.sh @@ -1,27 +1,35 @@ #!/bin/bash -echo "Run Valgrind" -echo "valgrind --leak-check=yes ./tvgUnitTests" -cd ./build/test - -valgrind --leak-check=yes ./tvgUnitTests > memcheck_valgrind.txt 2>&1 - - -PAYLOAD_MEMCHECK=`cat memcheck_valgrind.txt` -COMMENTS_URL=$(cat $GITHUB_EVENT_PATH | jq -r .pull_request.comments_url) - -echo $COMMENTS_URL -echo "MEMCHECK errors:" -echo $PAYLOAD_MEMCHECK - -if [[ $PAYLOAD_MEMCHECK == *"definitely lost:"* || $PAYLOAD_MEMCHECK == *"Invalid read "* || $PAYLOAD_MEMCHECK == *"Invalid write "* ]]; then - OUTPUT+=$'\n**MEMCHECK(VALGRIND) RESULT**:\n' - OUTPUT+=$'\n`valgrind --leak-check=yes ./tvgUnitTests`\n' - OUTPUT+=$'\n```\n' - OUTPUT+="$PAYLOAD_MEMCHECK" - OUTPUT+=$'\n```\n' +if [[ -z "$GITHUB_TOKEN" ]]; then + echo "The GITHUB_TOKEN is required." + exit 1 fi -PAYLOAD=$(echo '{}' | jq --arg body "$OUTPUT" '.body = $body') +if [[ "$GITHUB_EVENT_NAME" == "pull_request" ]]; then + echo "Run Valgrind" + echo "valgrind --leak-check=yes ./tvgUnitTests" + cd ./build/test + + valgrind --leak-check=yes ./tvgUnitTests > memcheck_valgrind.txt 2>&1 + + + PAYLOAD_MEMCHECK=`cat memcheck_valgrind.txt` + COMMENTS_URL=$(cat $GITHUB_EVENT_PATH | jq -r .pull_request.comments_url) + + echo $COMMENTS_URL + echo "MEMCHECK errors:" + echo $PAYLOAD_MEMCHECK + + if [[ $PAYLOAD_MEMCHECK == *"definitely lost:"* || $PAYLOAD_MEMCHECK == *"Invalid read "* || $PAYLOAD_MEMCHECK == *"Invalid write "* ]]; then + OUTPUT+=$'\n**MEMCHECK(VALGRIND) RESULT**:\n' + OUTPUT+=$'\n`valgrind --leak-check=yes ./tvgUnitTests`\n' + OUTPUT+=$'\n```\n' + OUTPUT+="$PAYLOAD_MEMCHECK" + 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" +fi -curl -s -S -H "Authorization: token $GITHUB_TOKEN" --header "Content-Type: application/vnd.github.VERSION.text+json" --data "$PAYLOAD" "$COMMENTS_URL"