Skip to content

Add automated release notes generation#846

Merged
Kyle-Ye merged 2 commits intomainfrom
feature/auto-release-notes
Mar 25, 2026
Merged

Add automated release notes generation#846
Kyle-Ye merged 2 commits intomainfrom
feature/auto-release-notes

Conversation

@Kyle-Ye
Copy link
Collaborator

@Kyle-Ye Kyle-Ye commented Mar 25, 2026

Summary

  • Extract release notes generation into a standalone reusable workflow (release_notes.yml) with workflow_dispatch support for manual testing
  • Auto-generate Highlights via Claude Code, What's Changed via GitHub API, and a fixed Binary Integration section pointing to OpenSwiftUI-spm
  • XCFramework build now only uploads assets without overwriting the release body
  • Fix secrets context not available in job-level if: condition that caused the 0.17.2 release workflow to fail

Pipeline

release-notes (ubuntu, ~1-2 min)
    ├── GitHub API → "What's Changed"
    ├── Claude Code (opus 4.6) → "Highlights"
    └── Fixed "Binary Integration" → OpenSwiftUI-spm
         │
build-xcframeworks (macos-15)
    └── Upload assets only (body untouched)
         │
update-binary-repo (ubuntu)
    └── Update OpenSwiftUI-spm Package.swift

Setup required

  • Add CLAUDE_CODE_OAUTH_TOKEN to GitHub repo secrets

Test plan

  • Manually trigger Release Notes workflow with a tag (e.g. 0.17.1) to verify output
  • Tag a new release and verify the full pipeline

Kyle-Ye added 2 commits March 26, 2026 00:58
Extract release notes into a standalone workflow (release_notes.yml) that
can be triggered manually or called from the release pipeline. Uses Claude
Code to auto-generate highlights and GitHub API for the changelog section.
Move BINARY_REPO_PAT from job-level `if:` to a step-level env var
check, since `secrets` context is not available in job-level `if:`
expressions. This was causing the entire release workflow to fail.
@github-actions github-actions bot added enhancement New feature or request bug Something isn't working labels Mar 25, 2026
@Kyle-Ye Kyle-Ye merged commit 89f034e into main Mar 25, 2026
7 of 8 checks passed
@Kyle-Ye Kyle-Ye deleted the feature/auto-release-notes branch March 25, 2026 17:10
@augmentcode
Copy link

augmentcode bot commented Mar 25, 2026

🤖 Augment PR Summary

Summary: This PR restructures the release pipeline to generate and publish release notes automatically before uploading XCFramework assets.

Changes:

  • Splits release notes generation into a reusable workflow (.github/workflows/release_notes.yml) with workflow_dispatch and workflow_call support
  • Generates “What’s Changed” via GitHub’s releases/generate-notes API and prepends an AI-generated “Highlights” section (Claude Code when token is available)
  • Adds a fixed “Binary Integration” snippet pointing to OpenSwiftUI-spm and updates/creates the GitHub Release body accordingly
  • Updates the main release.yml to run release notes first, then build/upload XCFramework assets without overwriting the release body
  • Fixes the binary repo update gating by moving the secret check into the step script (avoids job-level if: with secrets)

Technical Notes: Requires CLAUDE_CODE_OAUTH_TOKEN secret for automated Highlights; otherwise a placeholder Highlights section is emitted.

🤖 Was this summary useful? React with 👍 or 👎

Copy link

@augmentcode augmentcode bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review completed. 1 suggestion posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.


Below is the auto-generated changelog:

STATIC_EOF
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The heredoc terminator (STATIC_EOF) is indented; in bash the terminator must start at column 1 or the heredoc won’t close and this step will fail. This also applies to the other heredocs in this workflow (including INTEGRATION_EOF).

Severity: high

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

@codecov
Copy link

codecov bot commented Mar 25, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 26.84%. Comparing base (4b9e0a4) to head (5fe663d).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #846      +/-   ##
==========================================
- Coverage   26.85%   26.84%   -0.01%     
==========================================
  Files         671      671              
  Lines       43470    43470              
==========================================
- Hits        11675    11671       -4     
- Misses      31795    31799       +4     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant