ci(root): fail a changeset that misses a lockstep package - #664
Conversation
|
@codex please review this PR |
|
Warning Review limit reached
Next review available in: 35 minutes You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (5)
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. Comment |
@nextlyhq/adapter-drizzle
@nextlyhq/adapter-mysql
@nextlyhq/adapter-postgres
@nextlyhq/adapter-sqlite
@nextlyhq/admin
@nextlyhq/admin-css
@nextlyhq/blocks-engine
@nextlyhq/blocks-react
@nextlyhq/builder
create-nextly-app
nextly
@nextlyhq/plugin-form-builder
@nextlyhq/plugin-page-builder
@nextlyhq/plugin-sdk
@nextlyhq/plugin-seo
@nextlyhq/storage-s3
@nextlyhq/storage-uploadthing
@nextlyhq/storage-vercel-blob
@nextlyhq/ui
commit: |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 20bc2fb7cb
ℹ️ 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".
|
@codex please review this PR |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b039a6a515
ℹ️ 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".
|
@codex please review this PR |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: eb7a3c0167
ℹ️ 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".
|
@codex please review this PR |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1e4549eff1
ℹ️ 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".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ca8929bbc6
ℹ️ 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".
|
@codex please review this PR |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7adeba1ac0
ℹ️ 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".
|
@codex please review this PR |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4a52dee719
ℹ️ 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".
|
@codex please review this PR |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e2c03a30f7
ℹ️ 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".
| export function getWorkspacePackageNames() { | ||
| const names = []; | ||
| for (const entry of readdirSync(PACKAGES_DIR, { withFileTypes: true })) { |
There was a problem hiding this comment.
Expand globs against the complete pnpm workspace
Fresh evidence after the glob-expansion fix: when fixed uses a broad supported pattern such as "**", this helper exposes only packages under packages/, so the checker sees exact coverage and accepts changesets omitting playground and @nextlyhq/e2e. Changesets expands the same pattern against every entry in pnpm-workspace.yaml, including apps/* and e2e; with private-package versioning enabled by default, those packages join the fixed group, and the higher-versioned playground can change the version selected for the entire release train. Expand patterns against the complete pnpm workspace, then separately verify that the normalized group contains exactly the intended packages/ members.
AGENTS.md reference: AGENTS.md:L7-L7
Useful? React with 👍 / 👎.
|
@codex please review this PR |
|
Codex Review: Didn't find any major issues. Keep them coming! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
The published packages version in lockstep, so a changeset naming only some of them still bumps them all — and the ones it left out get a version with no changelog entry beside it. The release is correct; the record of it is not.
This was a review convention, and reviewers caught it twice in one afternoon (#652, #661). Both times the frontmatter had been generated from
.changeset/config.json— once written before a new package joined the group, once written before the branch merged the commit that added it. A convention that depends on regenerating at the right moment is one a build should check instead.What it checks
Each changeset the PR adds or edits must:
fixedgroup,patch— the group takes the largest bump in a release, so one strayminormoves every package's version, not just the one it sits beside.All problems are reported together, so a frontmatter written against an older group takes one push to fix rather than one per gap. A file whose frontmatter cannot be parsed is reported as unreadable rather than as "names nothing", because a tolerant parser scores those two opposite answers the same way.
Scope, and why it is drawn there
Only the changesets this PR adds or edits. 376 are pending on
main, most written before the group grew; rewriting them to satisfy a rule they predate would churn the eventual changelog for nothing.HEAD^1is what makes that exact. On a pull request the checkout is the merge commit, whose first parent is the base branch — so diffing against it gives the PR's own diff, already relative to the merge base. Diffing against the base branch tip would report every changeset the branch picked up by mergingmainas one this branch wrote, which is how a guard starts failing PRs over other people's files.fetch-depth: 2already provides that parent, so no checkout change is needed.No new token or permission: it reads git, not the API.
This widens what CI checks, so I measured what it newly catches. Five open PRs would start failing, every one of them missing exactly
@nextlyhq/builder, which joined the group when #646 merged:admin-provider-form-descriptors.md@nextlyhq/builderemail-delivery-log.md@nextlyhq/builderuniqueness-is-a-named-index.md@nextlyhq/builderblocks-react-type-surface.md@nextlyhq/builderpreview-mint-entry-gate.md@nextlyhq/builderplugin-template-scaffold-fixes.md@nextlyhq/blocks-react,@nextlyhq/builderEach is one line:
"@nextlyhq/builder": patch. That six independent branches all have the same gap for the same reason is the argument for the guard rather than an argument against it — but it is the owners' call when to add the line, so merge this when those branches can absorb a one-line push, or merge it now and expect six trivial follow-ups.#661is already correct (its own review caught it).Verification
scripts/release/check-changesets.test.mjs, run by the existingpnpm test:scriptsstep. They include the exact one-package-gap shape reviewers hit, a control asserting a complete changeset has nothing wrong with it, both quoted and bare package spellings, and CRLF frontmatter..changeset/blocks-react-gated-delivery.mdfails naming@nextlyhq/builder, and an empty pipe reports nothing to do.readFileSync(0)answeredEAGAINon a pipe that was open and momentarily empty, so the step passed or failed depending on which process was scheduled first. Stdin is streamed now, and the empty pipeline was run five times to confirm it is stable.pnpm lintgreen; workflow YAML parses.No changeset, per the CI-only rule in AGENTS.md — nothing here is published.