Skip to content

refactor(release): split workflow into npm-publish and release-notes jobs#578

Merged
kazupon merged 3 commits into
mainfrom
chore/refactor-release-workflow
May 17, 2026
Merged

refactor(release): split workflow into npm-publish and release-notes jobs#578
kazupon merged 3 commits into
mainfrom
chore/refactor-release-workflow

Conversation

@kazupon
Copy link
Copy Markdown
Member

@kazupon kazupon commented May 17, 2026

Description

Linked Issues

Additional context

Summary by CodeRabbit

  • Chores
    • Restructured release workflow for improved automation and flexibility
    • Enhanced release process authentication mechanism
    • Implemented automated changelog synchronization with releases
    • Removed legacy release script as functionality migrated to CI/CD workflow

Review Change Stack

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 17, 2026

Warning

Rate limit exceeded

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

You’ve run out of usage credits. Purchase more in the billing tab.

⌛ 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.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 8b9df5f8-a6ef-4da8-a552-7b4648c683f6

📥 Commits

Reviewing files that changed from the base of the PR and between 714b645 and 8f70c1a.

📒 Files selected for processing (1)
  • .github/workflows/release.yml
📝 Walkthrough

Walkthrough

The release workflow is restructured to split publishing and release notes into two conditional jobs. Triggers now support both tag pushes and manual dispatch. The npm-publish job resolves a dist_tag from the release tag pattern and publishes via OIDC authentication. The release-notes job creates GitHub releases idempotently, syncs changelog content, and commits changes back to a tag-derived target branch.

Changes

Release Workflow and Package Publishing Restructure

Layer / File(s) Summary
Workflow triggers and runtime environment setup
.github/workflows/release.yml (lines 9–30)
Trigger configuration extends to tag pushes (v*) and manual dispatch with a job input; a TAG variable is computed from the event; top-level permissions are set to empty for per-job control.
npm package publishing with OIDC and dist_tag resolution
.github/workflows/release.yml (lines 31–86)
npm-publish job conditionally runs on tag pushes or manual selection, resolves a dist_tag from the release tag pattern (e.g., v11.*latest, v12.*next), builds packages, and publishes each directory via pnpm publish using OIDC-based id-token authentication, removing the previous NPM_AUTH_TOKEN dependency.
GitHub release and changelog sync
.github/workflows/release.yml (lines 87–146)
release-notes job depends on npm-publish, selects a target branch from the tag (e.g., v11.*v11, v12.*main), creates the GitHub release idempotently, syncs changelog markdown via gh-changelogen, and commits updated *.md files back to the target branch.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

  • intlify/bundle-tools#572: Both PRs modify the release workflow's tag and changelog handling by introducing or propagating the TAG environment variable for release operations.

Poem

🐰 Two jobs now dance where one used to play,
OIDC tokens light the publishing way,
Branches resolve from version tags so bright,
Release notes sync back through the night!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title accurately reflects the main change: refactoring the release workflow by splitting it into two separate jobs (npm-publish and release-notes), which is the core objective of the changeset.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/refactor-release-workflow

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.

@kazupon kazupon added the refactoring A code change that neither fixes a bug nor adds a feature label May 17, 2026
@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new Bot commented May 17, 2026

Open in StackBlitz

npm i https://pkg.pr.new/@intlify/bundle-utils@578
npm i https://pkg.pr.new/@intlify/unplugin-vue-i18n@578

commit: 8f70c1a

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/release.yml:
- Around line 126-132: Validate the tag exists and mark prereleases explicitly:
before running gh release create "$TAG" use gh release view "$TAG" to ensure the
tag exists and fail otherwise (do not let gh create a missing tag), call gh
release create with --verify-tag to prevent creating tags implicitly, and add
--prerelease when the TAG contains a dash (e.g., check if "$TAG" contains '-'
and include the --prerelease flag) so prerelease semantics are set correctly;
update the conditional around gh release view/gh release create and adjust the
create command to include --verify-tag and the conditional --prerelease flag.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 3babc1d8-9c08-4f4f-b089-43ed64e73590

📥 Commits

Reviewing files that changed from the base of the PR and between adbbf65 and 714b645.

📒 Files selected for processing (2)
  • .github/workflows/release.yml
  • scripts/release.sh
💤 Files with no reviewable changes (1)
  • scripts/release.sh

Comment thread .github/workflows/release.yml
@kazupon kazupon changed the title chore(release): split workflow into npm-publish and release-notes jobs refactor(release): split workflow into npm-publish and release-notes jobs May 17, 2026
@kazupon kazupon merged commit 398adda into main May 17, 2026
14 checks passed
@kazupon kazupon deleted the chore/refactor-release-workflow branch May 17, 2026 09:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

refactoring A code change that neither fixes a bug nor adds a feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant