From f3d655acc0106869e5da28b886b9ea4c25330159 Mon Sep 17 00:00:00 2001 From: Yuta Kasai Date: Tue, 21 Jan 2025 21:38:48 +0900 Subject: [PATCH 1/2] Output created release note once before passing it to gh command --- .github/workflows/create-draft-release.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/create-draft-release.yml b/.github/workflows/create-draft-release.yml index 6e267f7f2..1f3bb39e4 100644 --- a/.github/workflows/create-draft-release.yml +++ b/.github/workflows/create-draft-release.yml @@ -106,11 +106,14 @@ jobs: console.log(`releaseNotes (modified): ${JSON.stringify(modifiedBody, null, 2)}`); core.setOutput("release_body", modifiedBody); + - name: Write release notes to file + run: | + echo "${{ steps.generate-release-notes.outputs.release_body }}" > release-notes.txt - name: Create Draft Release run: | gh release create "${{ steps.calculate-version.outputs.new_version }}" \ --title "${{ steps.calculate-version.outputs.new_version }} ${{ github.event.inputs.release_title }}" \ - --notes "${{ steps.generate-release-notes.outputs.release_body }}" \ + --notes-file release-notes.txt \ --draft \ --repo "${{ github.repository }}" env: From 2a7e4e8489f9096cc9e757e4cc418fc66f7a799f Mon Sep 17 00:00:00 2001 From: Yuta Kasai Date: Tue, 21 Jan 2025 22:28:24 +0900 Subject: [PATCH 2/2] Update create-draft-release.yml --- .github/workflows/create-draft-release.yml | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/.github/workflows/create-draft-release.yml b/.github/workflows/create-draft-release.yml index 1f3bb39e4..95c4b4658 100644 --- a/.github/workflows/create-draft-release.yml +++ b/.github/workflows/create-draft-release.yml @@ -106,13 +106,24 @@ jobs: console.log(`releaseNotes (modified): ${JSON.stringify(modifiedBody, null, 2)}`); core.setOutput("release_body", modifiedBody); - - name: Write release notes to file + - name: Prepare Release Title + id: title + env: + # "vX.Y.Z Release Title" + RAW_TITLE: ${{ steps.calculate-version.outputs.new_version }} ${{ github.event.inputs.release_title }} + run: | + # Print RAW_TITLE safely, then escape double quotes + SANITIZED_TITLE="$(printf '%s' "$RAW_TITLE" | sed 's/"/\\"/g')" + echo "sanitized_title=$SANITIZED_TITLE" >> "$GITHUB_OUTPUT" + + - name: Write Release Notes to File run: | echo "${{ steps.generate-release-notes.outputs.release_body }}" > release-notes.txt + - name: Create Draft Release run: | gh release create "${{ steps.calculate-version.outputs.new_version }}" \ - --title "${{ steps.calculate-version.outputs.new_version }} ${{ github.event.inputs.release_title }}" \ + --title "${{ steps.title.outputs.sanitized_title }}" \ --notes-file release-notes.txt \ --draft \ --repo "${{ github.repository }}"