diff --git a/.github/workflows/build_release.yml b/.github/workflows/build_release.yml index 77fad19..2053e30 100644 --- a/.github/workflows/build_release.yml +++ b/.github/workflows/build_release.yml @@ -26,20 +26,32 @@ jobs: run: npm ci - name: Generate release notes - id: release_notes + id: release_notes_extension uses: release-drafter/release-drafter@v6 with: - config-name: release-drafter.yml + config-name: release-drafter_extension.yml env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Save release notes to file run: | - echo "${{ steps.release_notes.outputs.body }}" > RELEASE_NOTES.md + echo "${{ steps.release_notes_extension.outputs.body }}" > RELEASE_NOTES.md - name: Run build script run: npm run release + + - name: Generate release notes + id: release_notes_github + uses: release-drafter/release-drafter@v6 + with: + config-name: release-drafter_github.yml + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Save release notes to file + run: | + echo "${{ steps.release_notes_github.outputs.body }}" > RELEASE_NOTES.md + - name: Create GitHub Release uses: softprops/action-gh-release@v2 with: @@ -49,3 +61,20 @@ jobs: body_path: "RELEASE_NOTES.md" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Delete draft release via API # workaround: remove leftover draft by release-drafter + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + REPO: ${{ github.repository }} + run: | + drafts=$(curl -s -H "Authorization: token $GITHUB_TOKEN" \ + https://api.github.com/repos/$REPO/releases | jq '.[] | select(.draft == true)') + + if [ -n "$drafts" ]; then + id=$(echo "$drafts" | jq -r '.id') + curl -s -X DELETE -H "Authorization: token $GITHUB_TOKEN" \ + https://api.github.com/repos/$REPO/releases/$id + echo "Deleted draft release with ID: $id" + else + echo "No draft releases found" + fi