From 5f8bfa0cc125ebb4e4e236baa7bfad2a28125cd8 Mon Sep 17 00:00:00 2001 From: rcourtman Date: Tue, 11 Nov 2025 14:38:39 +0000 Subject: [PATCH] Improve error reporting in release notes generation - Capture script exit code before checking - Show full error output if script fails - Prevents silent failures where error is hidden in temp file Related to #671 (automated release workflow) --- .github/workflows/release.yml | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e03f9bd25..f3287dca4 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -175,9 +175,20 @@ jobs: echo "Comparing v${{ inputs.version }} with ${PREVIOUS_TAG}..." # Generate notes - script writes output between separator lines - # We need to capture everything between the separators TEMP_OUTPUT=$(mktemp) + + # Run script, capture exit code (don't fail immediately) + set +e ./scripts/generate-release-notes.sh ${{ inputs.version }} "${PREVIOUS_TAG}" > "$TEMP_OUTPUT" 2>&1 + SCRIPT_EXIT=$? + set -e + + if [ $SCRIPT_EXIT -ne 0 ]; then + echo "❌ Release notes generation failed:" + cat "$TEMP_OUTPUT" + rm -f "$TEMP_OUTPUT" + exit 1 + fi # Extract notes between separator lines (everything between the two ━━━ lines) RELEASE_NOTES=$(awk '/^Generated release notes:/{flag=1;next}/^━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━$/{if(flag==1){flag=2}else if(flag==2){flag=3}}flag==2' "$TEMP_OUTPUT")