Uh oh!
There was an error while loading. Please reload this page.
Fix release workflow with proper notes generation - #212
Conversation
The third-party action hit a 502 error during the release process. Using the native gh CLI is more reliable and has no external dependency.
🤖 Augment PR SummarySummary: This PR replaces the third-party Why: The change aims to reduce reliance on an external action and avoid intermittent GitHub errors (e.g., 502) encountered during release publishing. 🤖 Was this summary useful? React with 👍 or 👎 |
| token: ${{ secrets.GITHUB_TOKEN }} | ||
| run: | | ||
| TAG_NAME="${GITHUB_REF#refs/tags/}" | ||
| gh release create "$TAG_NAME" \ |
There was a problem hiding this comment.
ncipollo/release-action previously used allowUpdates: true, but gh release create will fail if the release already exists (e.g., workflow re-run after a transient failure). If you still want the old behavior, you may need logic to edit/upload to an existing release instead of always creating a new one.
Severity: medium
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
Backticks in the Swift code block were interpreted as command substitution when passed inline via --notes. Write to a file and use --notes-file instead.
The 502 was a transient GitHub error. Use bodyFile instead of body to pass release notes from a file, avoiding special character issues.
git log %an gives the git author name (e.g. "Kyle") instead of the GitHub username (e.g. "Kyle-Ye"). Use gh api compare endpoint to resolve the actual GitHub login for each commit author.
Produces the standard GitHub release notes format with PR links, clean titles, and New Contributors section automatically.
Uh oh!
There was an error while loading. Please reload this page.
Summary
release_notes.md) and usebodyFilewithncipollo/release-actionto avoid shell escaping issues with backticks in Swift code blocksreleases/generate-notesAPI for the What's Changed section, producing proper PR links, GitHub usernames, and New ContributorsChanges
`) was interpreted as command substitution when passed inline. Now writes to a file and usesbodyFileparameter instead.git logwith GitHub'sgenerate-notesAPI, which produces the standard format with@usernamelinks, PR URLs, and New Contributors section.Test plan
0.4.0tag and verified the release was created with correct xcframework artifact, binaryTarget snippet, build info, and properly formatted changelog