Skip to content

fix(changesets): version the workspace's private packages again - #3

Merged
EliRobinson merged 1 commit into
mainfrom
fix/changesets-private-packages
Sep 5, 2026
Merged

EliRobinson merged 1 commit into
mainfrom
fix/changesets-private-packages

Conversation

@EliRobinson

Copy link
Copy Markdown
Owner

The Release workflow on main is red. Three separate causes, and this is the last one — the other two are already fixed.

The bug

Every package in this workspace is private: true. The changesets 2 → 3 upgrade in the modernize PR changed the default so private packages are skipped entirely, which means nothing has been versioned since.

It fails silently at every step:

$ changeset status
Packages to be bumped:          # empty

$ changeset version
All files have been updated     # wrote nothing

…and then the workflow fails on something that sounds unrelated:

HttpError: Validation Failed: No commits between main and changeset-release/main

Three messages, none mentioning private packages.

privatePackages: { version: true, tag: false } restores the changesets 2 behaviour: versions and CHANGELOGs get written, nothing is tagged or published — right for an app template rather than a published library.

Verified

Packages to be bumped:
- major
  - @repo/api-contracts
  - @repo/config
  - @repo/ui
  - @repo/utils
- patch
  - api

changeset version consumes the three pending changesets and writes the CHANGELOGs. I reverted that locally — producing the bump is the workflow's job, so the changesets are still pending here.

The other two, for the record

  • release.yml had no GitHub Packages credential (fixed in ci: authenticate the release workflow to GitHub Packages #2). It only runs on push to main, so no PR could ever catch it.
  • Allow GitHub Actions to create and approve pull requests was off, so the version PR could not be opened. Enabled on the repo; not a code change.

Once this merges, Release should open a "chore: version packages" PR on its own.

🤖 Generated with Claude Code

Every package here is `private: true`, and the changesets 2 -> 3 upgrade in the
modernize PR changed the default so private packages are skipped entirely. The
symptom is silent: `changeset status` prints an empty "Packages to be bumped:",
`changeset version` reports "All files have been updated" and writes nothing, and
the Release workflow then fails opening a PR with "No commits between main and
changeset-release/main" — three messages, none of which mention private packages.

`privatePackages: { version: true, tag: false }` restores the changesets 2
behaviour: versions and CHANGELOGs are written, nothing is tagged or published,
which is what this repo wants — it is an app template, not a published library.

Verified: status now lists all four @repo packages plus api, and version consumes
the three pending changesets and writes the CHANGELOGs.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@EliRobinson
EliRobinson merged commit 386c5e9 into main Sep 5, 2026
2 checks passed
@EliRobinson
EliRobinson deleted the fix/changesets-private-packages branch September 5, 2026 05:44
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