fix: append build info to release notes instead of replacing#46
Conversation
The 'Update release notes' step in the release workflow ran 'gh release edit --notes \"**Build Information:** ...\"' which replaced the entire release body written when the release was created, discarding the changelog/description. Fetch the existing release body first and append the build-info footer to it instead of overwriting it. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
Warning Review limit reached
Next review available in: 28 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@coderabbitai, AI generated comment Is this a proper fix? Context: the previous "Update release notes" step ran Please assess whether this approach is sound (e.g. quoting/escaping of |
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
fd release.yml
echo "---"
cat -n .github/workflows/release.yml | sed -n '1,400p'Length of output: 4919 🏁 Script executed: #!/bin/bash
set -euo pipefail
echo '{"body":null}' | jq -r '.body'
echo "---"
echo '{"body":""}' | jq -r '.body'
echo "---"
which gh || true
gh --version || trueLength of output: 432 Hi What's correct:
One real edge case: if a release has no description at all (i.e., its I'd suggest guarding against this, e.g.: EXISTING_NOTES=$(gh release view "${{ github.ref_name }}" --repo "${{ github.repository }}" --json body -q '.body // ""')or equivalently after the fact: [ "$EXISTING_NOTES" = "null" ] && EXISTING_NOTES=""A minor cosmetic-only nit: when the existing body is genuinely empty (empty string, not null), the appended notes will start with two blank lines before Everything else (quoting, multi-line handling, special characters) looks correct as-is. [resolve] |
Address CodeRabbit feedback on PR #46: gh release view --json body -q .body prints the literal string "null" (jq -r quirk) when a release has no description at all, which would leak into the appended notes. Use -q '.body // ""' to fall back to an empty string instead. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
@coderabbitai, AI generated comment Addressed: guarded against the null-body edge case in fe57c26 by changing the jq filter to |
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
fd release.yml
echo "---"
grep -n "EXISTING_NOTES\|body" .github/workflows/release.ymlLength of output: 534
[resolve] ヽ(°〇°)ノ |
AI Generated pull-request
Summary
upload-release-assetsjob's "Update release notes" step rangh release edit --notes "**Build Information:** $BUILD_INFO", which replaces the entire release body — discarding whatever description was written when the release was created.Test plan
release.ymlYAML is well-formed (reviewed diff manually)