Skip to content

Version Packages - #1378

Merged
ryan-roemer merged 1 commit into
mainfrom
changeset-release/main
Oct 27, 2026
Merged

ryan-roemer merged 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

create-spectacle@0.4.4

Patch Changes

  • build: upgrade minor dependencies (#1366)

spectacle@10.2.4

Patch Changes

  • build: upgrade minor dependencies (#1366)

spectacle-mdx-loader@0.1.3

Patch Changes

  • build: upgrade minor dependencies (#1366)

@vercel

vercel Bot commented Oct 26, 2026 •

Copy link
Copy Markdown

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

Project Deployment Actions Updated
spectacle-docs-website Ready Ready Preview Oct 27, 2026 4:05pm UTC

Request Review

ryan-roemer pushed a commit that referenced this pull request Oct 27, 2026
## Problem

The `changeset status` guard added in #1374 / #1377 does more than
reject mixed changesets — `changeset status` also enforces changeset
**presence**, failing when a package has changed with no covering
changeset.

That broke the automated **"Version Packages" PR** (#1378): its entire
purpose is to *consume* the changesets and bump versions, so it always
has changed packages and no changesets left behind, and the check fails
it every time with:

```
error Some packages have been changed but no changesets were found.
```

Presence enforcement was never the intent of #1374 (which was about a
*mixed* changeset silently freezing releases), and we don't want to
require a changeset on every package-touching PR.

## Fix

Run the validation only when a changeset file is actually present:

```yaml
if [ -n "$(find .changeset -maxdepth 1 -name '*.md' ! -name 'README.md' -print -quit)" ]; then
  git show-ref --verify --quiet refs/heads/main || git branch main origin/main
  pnpm changeset status
else
  echo "No changesets to validate."
fi
```

- **Mixed/malformed changesets are still caught** — a bad changeset is a
file, so the step runs and fails (verified locally).
- **The "Version Packages" PR is skipped** — no changeset files present.
- **No presence enforcement** — PRs without a changeset are no longer
failed.

## Verification

Locally, against the current `main`:
- With the clean changeset present → step runs, `changeset status`
passes (3 publishable packages).
- With only `config.json` (+ `README.md`) present → step skips, as the
Version Packages PR would.
- With a planted mixed changeset → `changeset status` still errors.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
@ryan-roemer

Copy link
Copy Markdown
Member

Note -- I'm ignoring the create-spectacle failure as it's a version bump config thing that manifests pre-release and we're going to likely deprecate the package.

@ryan-roemer
ryan-roemer merged commit d24c48a into main Oct 27, 2026
3 of 5 checks passed
@ryan-roemer
ryan-roemer deleted the changeset-release/main branch October 27, 2026 16:28

This branch was successfully deployed

1 active deployment
Preview — ce33e91e Deployed Oct 27, 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