Skip to content

ci(release): automate release PRs and npm publishing#35

Merged
fbosch merged 2 commits intomasterfrom
chore/release-please-npm
Apr 10, 2026
Merged

ci(release): automate release PRs and npm publishing#35
fbosch merged 2 commits intomasterfrom
chore/release-please-npm

Conversation

@fbosch
Copy link
Copy Markdown
Owner

@fbosch fbosch commented Apr 10, 2026

Summary

  • add a Release Please workflow using googleapis/release-please-action to automatically open/update release PRs from conventional commits
  • add npm publishing as a follow-up job that runs only when a release is created, checks out the release tag, and publishes with provenance
  • add release-please-config.json and .release-please-manifest.json seeded to 0.5.10 to initialize release-please state for this package

Validation

  • Workflow/config changes reviewed locally
  • Note: local rtk lint output failed to parse in this environment, so workflow validation is expected to come from GitHub Actions checks

Summary by CodeRabbit

  • Chores
    • Configured automated release and npm package publishing workflows to streamline the release process.

Copilot AI review requested due to automatic review settings April 10, 2026 07:26
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 10, 2026

Warning

Rate limit exceeded

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

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 14 minutes and 31 seconds.

⌛ 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: 9e87b983-6b06-48f5-8298-4c38e544ce73

📥 Commits

Reviewing files that changed from the base of the PR and between e3b7def and 9511308.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (1)
  • package.json
📝 Walkthrough

Walkthrough

Three new files establish release automation using GitHub Actions and Release Please. A workflow (release-please.yml) triggers on master pushes, creates releases with version management, and publishes packages to npm. Supporting configuration files define release rules and track the current version (0.5.10).

Changes

Cohort / File(s) Summary
Release Automation Setup
.github/workflows/release-please.yml, .release-please-manifest.json, release-please-config.json
Introduces Release Please workflow with conditional npm publishing, version manifest (0.5.10), and Node.js release configuration. Workflow triggers on master push with concurrency control, creates GitHub releases, and publishes packages using pnpm with provenance support.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 A workflow hops into place,
Release Please sets the pace,
Versions bump with automated grace,
npm packages find their space,
No more manual release race! 📦✨

🚥 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 pull request title 'ci(release): automate release PRs and npm publishing' directly and accurately summarizes the main changes: adding automated release PR generation and npm package publishing through Release Please and related configuration.
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.

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

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.

@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new bot commented Apr 10, 2026

Open in StackBlitz

npx https://pkg.pr.new/docs-cache@35

commit: 9511308

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e3b7defd28

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

on:
push:
branches:
- master
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Add main branch to release workflow trigger

This workflow only runs on pushes to master, so repositories that release from main will never execute release-please and therefore never open/update release PRs or publish to npm. In this repo, other automation already treats main as an active branch (for example .github/workflows/ci.yml and pkg-pr-new-preview.yml include main), so limiting this trigger to master introduces a release pipeline gap whenever changes land on main.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds automated release management and npm publishing via Release Please, seeding initial manifest state to the current package version.

Changes:

  • Introduces release-please GitHub Actions workflow to open/update release PRs from conventional commits.
  • Adds a follow-up job to publish the package to npm (with provenance) when a release is created.
  • Seeds Release Please config/manifest state at version 0.5.10.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
release-please-config.json Configures Release Please for a Node package with v-prefixed tags.
.release-please-manifest.json Seeds initial release-please version state (0.5.10).
.github/workflows/release-please.yml Automates release PR creation and npm publishing from release tags.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.


on:
push:
branches:
Copy link

Copilot AI Apr 10, 2026

Choose a reason for hiding this comment

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

The workflow only runs on pushes to master. Other workflows in this repo run on both main and master (e.g. .github/workflows/ci.yml:6-9), so releases may never be prepared if the default branch is main. Consider adding main here (or otherwise aligning this list with the repo’s default/release branch).

Suggested change
branches:
branches:
- main

Copilot uses AI. Check for mistakes.
id: release
uses: googleapis/release-please-action@16a9c90856f42705d54a6fda1823352bdc62cf38 # v4.4.0
with:
token: ${{ secrets.GITHUB_TOKEN }}
Copy link

Copilot AI Apr 10, 2026

Choose a reason for hiding this comment

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

Using secrets.GITHUB_TOKEN here can cause Release Please-created PRs/tags/releases to not trigger other GitHub Actions workflows (GitHub suppresses workflow runs triggered by the workflow token). If you expect CI checks to run on the release PR before merging, use a dedicated PAT/GitHub App token stored as a secret (and pass it to token:) instead of GITHUB_TOKEN.

Suggested change
token: ${{ secrets.GITHUB_TOKEN }}
token: ${{ secrets.RELEASE_PLEASE_TOKEN }}

Copilot uses AI. Check for mistakes.
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 the current code and only fix it if needed.

Inline comments:
In @.github/workflows/release-please.yml:
- Around line 67-70: The "Publish package" CI step currently runs `pnpm publish
--access public --no-git-checks --provenance` and will fail if retried because
the version already exists; update that step to perform an idempotency check
before calling `pnpm publish`: read package name and version (from package.json
or your release metadata), query the registry for that specific version (e.g.,
`pnpm info <pkg>@<version>` or `npm view <pkg>@<version>` using NODE_AUTH_TOKEN)
and if the version exists, skip the publish step with a clear message, otherwise
run the existing `pnpm publish ...` command. Ensure this logic is implemented
inside the same "Publish package" job/step so retries are safe.
🪄 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: 41f55715-99f7-4541-8ff1-e7bda034b2f0

📥 Commits

Reviewing files that changed from the base of the PR and between 5718f0f and e3b7def.

📒 Files selected for processing (3)
  • .github/workflows/release-please.yml
  • .release-please-manifest.json
  • release-please-config.json

@fbosch fbosch merged commit 3d4f310 into master Apr 10, 2026
16 checks passed
@fbosch fbosch deleted the chore/release-please-npm branch April 10, 2026 07:39
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