42 lines
1.3 KiB
Bash
Executable File
42 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
MAX_TESTS=10
|
|
# this script expects the following env vars to be set
|
|
# error if these are not set
|
|
[ ${GITHUB_TOKEN:?} ]
|
|
[ ${RUN_ID:?} ]
|
|
[ ${REPO:?} ]
|
|
[ ${PR_NUMBER:?} ]
|
|
if [ -z "$TABLE_DATA" ]; then
|
|
BODY="CI Results:
|
|
All Go tests succeeded! :white_check_mark:"
|
|
else
|
|
# Remove any rows that don't have a test name
|
|
# Only keep the test type, test package, test name, and logs column
|
|
# Remove the scroll emoji
|
|
# Remove "github.com/hashicorp/vault" from the package name
|
|
TABLE_DATA=$(echo "$TABLE_DATA" | awk -F\| '{if ($4 != " - ") { print "|" $2 "|" $3 "|" $4 "|" $7 }}' | sed -r 's/ :scroll://' | sed -r 's/github.com\/hashicorp\/vault\///')
|
|
NUM_FAILURES=$(wc -l <<< "$TABLE_DATA")
|
|
|
|
# Check if the number of failures is greater than the maximum tests to display
|
|
# If so, limit the table to MAX_TESTS number of results
|
|
if [ "$NUM_FAILURES" -gt "$MAX_TESTS" ]; then
|
|
TABLE_DATA=$(echo "$TABLE_DATA" | head -n "$MAX_TESTS")
|
|
NUM_OTHER=( $NUM_FAILURES - "$MAX_TESTS" )
|
|
TABLE_DATA="$TABLE_DATA
|
|
|
|
and $NUM_OTHER other tests"
|
|
fi
|
|
|
|
# Add the header for the table
|
|
BODY="CI Results:
|
|
Failures:
|
|
| Test Type | Package | Test | Logs |
|
|
| --------- | ------- | ---- | ---- |
|
|
${TABLE_DATA}"
|
|
fi
|
|
|
|
source ./.github/scripts/gh_comment.sh
|
|
|
|
update_or_create_comment "$REPO" "$PR_NUMBER" "CI Results:" "$BODY" |