From faf079dab9efd4bff248f90942ab02064043a253 Mon Sep 17 00:00:00 2001 From: Leon Schuermann Date: Fri, 8 Nov 2024 11:28:55 -0500 Subject: [PATCH] Job summary fixes --- .github/workflows/treadmill-ci.yml | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/.github/workflows/treadmill-ci.yml b/.github/workflows/treadmill-ci.yml index 883ccae..abaa72c 100644 --- a/.github/workflows/treadmill-ci.yml +++ b/.github/workflows/treadmill-ci.yml @@ -166,6 +166,17 @@ jobs: TML_JOBS_OUTPUT="{ \"$TML_JOB_ID\": { \"runner-id\": \"$RUNNER_ID\", \"tests\": $TESTS_JSON } }" echo "Setting tml-jobs output to ${TML_JOBS_OUTPUT}" echo "tml-jobs=${TML_JOBS_OUTPUT}" >> "$GITHUB_OUTPUT" + + # Generate an overview over the scheduled jobs and their respective tests: + cat <>"$GITHUB_STEP_SUMMARY" + ## Test Overview + | Test | Board | Job | + |------|-------|-----| + GITHUB_STEP_SUMMARY + echo "$TESTS_JSON" | jq -r -c '.[]' | while read TEST; do + echo "| \`$TEST\` | \`$DUT_BOARD\` | [\`$TML_JOB_ID\`](#tml-job-summary-$TML_JOB_ID) |" >>"$GITHUB_STEP_SUMMARY" + done + test-execute: needs: test-prepare strategy: @@ -244,10 +255,11 @@ jobs: source ./hwcienv/bin/activate cd ./hwci export PYTHONPATH="$PWD:$PYTHONPATH" + STEP_FAIL=0 # Generate a summary of all the tests executed: cat <>"$GITHUB_STEP_SUMMARY" - ### Tests executed on board \`nrf52840dk\`, job ID ${{ matrix.tml-job-id }} + ### Tests executed on board \`nrf52840dk\`, job ID ${{ matrix.tml-job-id }} | Result | Test | |--------|------| @@ -263,7 +275,7 @@ jobs: cat <>"./step-summary-details.txt"
Test \`$TEST\` - ##### Test \`$TEST\` + ##### Test \`$TEST\` \`\`\` STEP_SUMMARY_DETAILS @@ -274,10 +286,11 @@ jobs: # Insert the result into the markdown table: if [ "$FAIL" == "0" ]; then - echo "| ✅ | \`$TEST\` ([Output](#test-|" >>"$GITHUB_STEP_SUMMARY" + echo "| ✅ | \`$TEST\` ([Output](#test-$SANITIZED_TEST_NAME)) |" >>"$GITHUB_STEP_SUMMARY" + STEP_FAIL=1 else echo "===== Test $TEST failed! =====" - echo "| ❌ | \`$TEST\` |" >>"$GITHUB_STEP_SUMMARY" + echo "| ❌ | \`$TEST\` ([Output](#test-$SANITIZED_TEST_NAME)) |" >>"$GITHUB_STEP_SUMMARY" fi # Sanitize the output (remove triple backslashes) and copy it into the step summary details: @@ -295,6 +308,12 @@ jobs: # Finally, add all test output sections to the overall step summary: echo "" >>"$GITHUB_STEP_SUMMARY" cat "./step-summary-details.txt" >>"$GITHUB_STEP_SUMMARY" + + # Exit with an error if at least one test failed: + if [ "$STEP_FAIL" != "0" ]; then + echo "At least one test failed, exiting with error." + exit 1 + fi - name: Request shutdown after successful job completion run: | sudo touch /run/github-actions-shutdown