Skip to content

Conversation

@TabishB
Copy link
Contributor

@TabishB TabishB commented Jan 20, 2026

Summary

  • Fix polish release notes workflow failing with "Unsupported event type: release"
  • The claude-code-action doesn't support release events, but does support workflow_dispatch
  • Have release-prepare trigger the polish workflow after publishing via gh workflow run

Changes

polish-release-notes.yml:

  • Remove unsupported release: published trigger
  • Keep only workflow_dispatch (which is supported)

release-prepare.yml:

  • Add step to trigger polish workflow after changesets publishes a release

Test plan

  • Merge and trigger a release to verify the workflow chain works
  • Can also test manually via Actions → Polish Release Notes → Run workflow

🤖 Generated with Claude Code

Summary by CodeRabbit

Release Notes

  • Chores
    • Enhanced release workflow automation to streamline release note generation
    • Improved release process configuration for more reliable tag handling and workflow orchestration

✏️ Tip: You can customize this high-level summary in your review settings.

The claude-code-action doesn't support the `release` event type.
Switch to workflow_dispatch which is supported, and have
release-prepare trigger it after publishing.
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 20, 2026

Warning

Rate limit exceeded

@TabishB has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 8 minutes and 19 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between c836bc9 and 53f6b98.

📒 Files selected for processing (1)
  • .github/workflows/release-prepare.yml

Note

Other AI code review bot(s) detected

CodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review.

📝 Walkthrough

Walkthrough

The pull request modifies GitHub Actions workflows to integrate the Claude-based release notes polishing feature. The polish-release-notes workflow is converted to manual triggering only, while release-prepare is updated to automatically invoke it upon successful version updates.

Changes

Cohort / File(s) Summary
Workflow Integration
\.github/workflows/polish-release-notes\.yml
Removes automatic release-triggered activation (removes [published] event trigger); simplifies TAG_NAME to exclusively use the explicit input parameter instead of fallback logic
Release Preparation
\.github/workflows/release-prepare\.yml
Adds new "Polish release notes" step that conditionally triggers the polish-release-notes workflow when version publishing succeeds; retrieves latest release tag for parameterization

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Possibly related PRs

  • OpenSpec#481: Introduces the Claude-based polish-release-notes workflow that this PR integrates and refines
  • OpenSpec#479: Modifies release-prepare.yml around changesets step handling and release triggering logic

Poem

🐰 A rabbit hops through GitHub's halls,
Connecting workflows, heeding calls,
Release notes polished, Claude transforms,
From raw to refined, in proper forms! ✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically describes the main change: converting the polish release notes workflow from automatic event-based triggers to manual workflow_dispatch invocation.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@vibe-kanban-cloud
Copy link

Review Complete

Your review story is ready!

View Story

Comment !reviewfast on this PR to re-generate the story.

@greptile-apps
Copy link

greptile-apps bot commented Jan 20, 2026

Greptile Summary

Fixes the polish release notes workflow by switching from unsupported release: published trigger to workflow_dispatch, with release-prepare triggering it after publishing.

  • Removed release: published event trigger from polish-release-notes.yml
  • Added step in release-prepare.yml to trigger polish workflow after changesets publishes
  • Polish workflow now receives tag via workflow_dispatch input instead of event payload
  • Simplified TAG_NAME env var to use only inputs.tag_name

The workflow chain now works: push to main → changesets publishes → triggers polish workflow → Claude polishes release notes.

Confidence Score: 4/5

  • Safe to merge with minimal risk - straightforward CI workflow fix
  • The changes correctly address the unsupported event type issue by switching to workflow_dispatch. The logic is sound: release-prepare triggers polish workflow after publishing, passing the tag name. Minor confidence reduction due to the assumption that gh release list --limit 1 returns the newest release first, which should be verified in testing.
  • No files require special attention - both workflow files have straightforward changes

Important Files Changed

Filename Overview
.github/workflows/polish-release-notes.yml Removed unsupported release: published trigger, kept only workflow_dispatch with required tag_name input
.github/workflows/release-prepare.yml Added step to trigger polish workflow after changesets publishes, fetches latest release tag and passes to workflow

Sequence Diagram

sequenceDiagram
    participant User as Developer
    participant Main as main branch
    participant RP as release-prepare.yml
    participant CS as Changesets Action
    participant NPM as npm Registry
    participant GH as GitHub Releases
    participant PR as polish-release-notes.yml
    participant Claude as Claude Code Action

    User->>Main: Push to main
    Main->>RP: Trigger workflow
    RP->>CS: Run changesets/action
    CS->>CS: Check for changesets
    alt Version PR exists
        CS->>GH: Create/Update Version PR
    else Version PR merged
        CS->>NPM: Publish packages
        CS->>GH: Create release with tag
        CS-->>RP: outputs.published = 'true'
        RP->>GH: gh release list (get latest tag)
        RP->>PR: gh workflow run polish-release-notes.yml
        PR->>GH: Fetch release notes
        PR->>Claude: Transform with claude-code-action
        Claude->>PR: Return polished notes + title
        PR->>GH: Update release with polished content
    end
Loading

Copy link

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

2 files reviewed, 1 comment

Edit Code Review Agent Settings | Greptile

# Get the latest release tag
TAG=$(gh release list --limit 1 --json tagName -q '.[0].tagName')
echo "Triggering polish workflow for $TAG"
gh workflow run polish-release-notes.yml -f tag_name="$TAG"
Copy link

Choose a reason for hiding this comment

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

style: verify that gh release list --limit 1 returns the most recently published release - the command assumes chronological ordering (newest first)

Prompt To Fix With AI
This is a comment left during a code review.
Path: .github/workflows/release-prepare.yml
Line: 71:71

Comment:
**style:** verify that `gh release list --limit 1` returns the most recently published release - the command assumes chronological ordering (newest first)

How can I resolve this? If you propose a fix, please make it concise.

@TabishB TabishB merged commit 8332a09 into main Jan 20, 2026
9 checks passed
@TabishB TabishB deleted the fix/polish-release-notes-workflow branch January 20, 2026 08:36
StrayDragon pushed a commit to StrayDragon/OpenSpec that referenced this pull request Jan 20, 2026
* fix(ci): use workflow_dispatch for polish release notes

The claude-code-action doesn't support the `release` event type.
Switch to workflow_dispatch which is supported, and have
release-prepare trigger it after publishing.

* fix: get tag from package.json instead of gh release list
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants