Skip to content

ci(changesets): skip the check when a package.json bump only touches devDependencies - #62

Merged
PunGrumpy merged 1 commit into
mainfrom
eng-lead/changeset-skip-dev-deps
Oct 21, 2026
Merged

PunGrumpy merged 1 commit into
mainfrom
eng-lead/changeset-skip-dev-deps

Conversation

@PunGrumpy

@PunGrumpy PunGrumpy commented Oct 20, 2026 •

Copy link
Copy Markdown
Owner

Verify Changesets failed on #53, a Dependabot bump of the development group, because any change to packages/*/package.json required a changeset. That bump only touched devDependencies, so nothing published changed. Each future development-group bump would fail the same way and need the skip-changeset label by hand.

Change

A changed packages/*/package.json now counts only when it differs from the base after jq -S 'del(.devDependencies)' on both sides. Changes under packages/*/src/**, and every other package.json field (version, dependencies, peerDependencies, exports, and so on), still need a changeset. A package.json that is added or deleted still counts.

Considered and dropped

  • Labeling every Dependabot PR skip-changeset through dependabot.yml. Labels there apply to the whole bun entry, so production bumps would skip the check too, and those do ship.
  • Excluding scripts as well. Lifecycle scripts can reach consumers, so only devDependencies is exempt.

Verification

I ran the step's run script with bash -e, the shell Actions uses, against seven commits. Before this change, the two dev-only cases failed. After it, every case matches.

Case Before After
#53's real head (9a8c5c1) fail pass
Synthetic devDependencies bump fail pass
peerDependencies change fail fail
version change fail fail
devDependencies bump plus a new dependencies entry fail fail
src change without a changeset fail fail
src change with a changeset pass pass

actionlint passes on the workflow. This PR does not touch packages/ or .changeset/, so Verify Changesets does not run on it.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Bug Fixes
    • Changeset enforcement now ignores package manifest files when only development dependencies differ, while continuing to require changesets for source changes and other package updates.

…devDependencies

Dependabot's development group bumps devDependencies in
packages/vecstore-sdk/package.json, and Verify Changesets failed on it
(#53) even though nothing published changes. A changed package.json now
counts only when it differs from the base outside devDependencies.
Source changes and every other package.json field still need a changeset.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@changeset-bot

changeset-bot Bot commented Oct 20, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 9f74397

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@vercel

vercel Bot commented Oct 20, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
vecstore-sdk Ready Ready Preview Oct 20, 2026 5:19am UTC

@coderabbitai

coderabbitai Bot commented Oct 20, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 621ed027-102f-4a92-b307-bf87ec6b864f
📥 Commits

Reviewing files that changed from the base of the PR and between 833c05c and 9f74397.

📒 Files selected for processing: 1
  • .github/workflows/verify-changesets.yml

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

📜 Recent review details
⏰ Context from checks skipped due to timeout: 7
  • GitHub Check: Socket Security: Pull Request Alerts
  • GitHub Check: Test
  • GitHub Check: TypeScript
  • GitHub Check: Publish Preview
  • GitHub Check: Lint & Format
  • GitHub Check: Build Packages
  • GitHub Check: Baymi security review
🔇 Additional comments: 1
.github/workflows/verify-changesets.yml: 1

31-40: LGTM!

📝 Walkthrough

The changeset workflow now excludes package manifests that match the base version after removing devDependencies. Source changes and other package manifest changes remain eligible for enforcement.

Changes: Changeset enforcement

Layer / File(s) Summary
Filter unchanged package manifests
.github/workflows/verify-changesets.yml
The workflow compares each changed package.json with its base version after removing devDependencies. Matching manifests are excluded from changeset enforcement.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Bug fix

Merge Risk: ⚪ Minimal · up to 9f743

The changeset enforcement update is ready to merge.

Pre-merge checks: Passed 5
Check name Status Explanation
Title check Passed The title clearly identifies the CI changeset check and the specific exception for package.json changes that only update devDependencies.
Description check Passed The description explains the background, implementation, exclusions, and verification results. It does not use the template's Background, Summary, or Checklist headings, and it does not explicitly com…
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
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.
Full details: Description check

Explanation

The description explains the background, implementation, exclusions, and verification results. It does not use the template's Background, Summary, or Checklist headings, and it does not explicitly complete the checklist, but it provides the required technical context and verification details.

Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

A rabbit checks the manifest lines
And skips the unchanged package signs
Source edits still count their say
A changeset marks the change today
Then hops along its merry way(final)

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

@pkg-pr-new

pkg-pr-new Bot commented Oct 20, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/vecstore-sdk@62

commit: 9f74397

@baymiai

baymiai Bot commented Oct 20, 2026

Copy link
Copy Markdown

Security review: nothing to raise.

Read the updated workflow step, its contents: read permission, and the quoting around $file and BASE_SHA.

Reviewed at 9f74397.

@PunGrumpy
PunGrumpy merged commit 4a57bae into main Oct 21, 2026
13 checks passed

This branch was successfully deployed

1 active deployment
Preview — 9f74397d Deployed Oct 20, 2026 by vercel[bot]
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.

1 participant