From 69f8ed1ef0493b02b19faf51737dc29ac563c7da Mon Sep 17 00:00:00 2001 From: Chen Asraf Date: Thu, 22 Jan 2026 21:26:34 +0200 Subject: [PATCH] build: add changelog to homebrew workflows --- .github/workflows/manual-homebrew-release.yml | 20 +++++++++++++++++-- .github/workflows/release.yml | 20 ++++++++++++++++++- 2 files changed, 37 insertions(+), 3 deletions(-) diff --git a/.github/workflows/manual-homebrew-release.yml b/.github/workflows/manual-homebrew-release.yml index 70556b9..cecc70a 100644 --- a/.github/workflows/manual-homebrew-release.yml +++ b/.github/workflows/manual-homebrew-release.yml @@ -15,12 +15,19 @@ jobs: - name: Checkout repository uses: actions/checkout@v4 - - name: Get latest tag + - name: Get latest release info id: latest run: | tag=$(gh release view --json tagName -q .tagName) echo "Latest release tag: $tag" echo "tag=$tag" >> "$GITHUB_OUTPUT" + + # Get release body and escape for JSON + body=$(gh release view --json body -q .body) + # Use delimiter for multiline output + echo "body<> "$GITHUB_OUTPUT" + echo "$body" >> "$GITHUB_OUTPUT" + echo "EOF" >> "$GITHUB_OUTPUT" env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -30,7 +37,16 @@ jobs: run: | tag="${{ steps.latest.outputs.tag }}" repo="${{ github.event.repository.name }}" - data="{\"event_type\":\"trigger-from-release\",\"client_payload\":{\"tag\":\"$tag\",\"repo\":\"$repo\"}}" + # Use jq to properly escape the body for JSON + body=$(cat <<'BODY_EOF' + ${{ steps.latest.outputs.body }} + BODY_EOF + ) + data=$(jq -n \ + --arg tag "$tag" \ + --arg repo "$repo" \ + --arg body "$body" \ + '{event_type: "trigger-from-release", client_payload: {tag: $tag, repo: $repo, body: $body}}') echo "Dispatching tag $tag from $repo" echo "Data: $data" curl -X POST \ diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e4e8ba3..cc687cf 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -106,13 +106,31 @@ jobs: if: ${{ needs.release-please.outputs.release_created }} runs-on: ubuntu-latest steps: + - name: Get release body + id: release-body + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + body=$(gh release view "${{ needs.release-please.outputs.tag_name }}" --repo "${{ github.repository }}" --json body -q .body) + echo "body<> "$GITHUB_OUTPUT" + echo "$body" >> "$GITHUB_OUTPUT" + echo "EOF" >> "$GITHUB_OUTPUT" + - name: Send dispatch to homebrew-tap env: GH_TOKEN: ${{ secrets.REPO_DISPATCH_PAT }} run: | repo="${{ github.event.repository.name }}" tag="${{ needs.release-please.outputs.tag_name }}" - data="{\"event_type\":\"trigger-from-release\",\"client_payload\":{\"tag\":\"$tag\",\"repo\":\"$repo\"}}" + body=$(cat <<'BODY_EOF' + ${{ steps.release-body.outputs.body }} + BODY_EOF + ) + data=$(jq -n \ + --arg tag "$tag" \ + --arg repo "$repo" \ + --arg body "$body" \ + '{event_type: "trigger-from-release", client_payload: {tag: $tag, repo: $repo, body: $body}}') echo "Dispatching tag $tag from $repo" echo "Data: $data" curl -X POST \