Skip to content

fix(ci): unblock npm publish and revert unintended version bump - #477

Merged
hadelive merged 1 commit into
mainfrom
fix/release-publish-revert-version
Jul 29, 2026
Merged

fix(ci): unblock npm publish and revert unintended version bump#477
hadelive merged 1 commit into
mainfrom
fix/release-publish-revert-version

Conversation

@hadelive

Copy link
Copy Markdown
Collaborator

Two problems, one PR — because merging them separately would publish the versions we are trying to take back.

1. Publish is broken under npm 12

Run 30457694907 reported success but published nothing:

🦋 error an error occurred while publishing @evolution-sdk/evolution: EUNKNOWNCONFIG Unknown cli flag:
🦋 error   - --git-checks
##[error]Publish command exited with code 1

@changesets/cli 2.31.1 detects the pnpm workspace (root packageManager: pnpm@9.0.0) and appends --no-git-checks to the publish command (changesets-cli.esm.js:851). That flag reaches npm publish, and npm 12 turned unknown CLI flags into a hard error — npm prints it as --git-checks because it strips the no- prefix. The last green publish, on 2026-06-29, ran npm 11.18.0; npm 12.0.0 shipped 2026-07-08.

Pinned to npm@11 (resolves 11.18.0, still >= 11.5.1 for trusted publishing). Upgrading pnpm to 10.x is the longer-term fix and deserves its own PR.

Also removed continue-on-error: true from the changesets step. That flag is why this went unnoticed: the job stayed green while all four packages failed to publish.

2. Revert the version bump — patch, not minor

The Maestro changeset was marked minor, which cascaded further than intended. devnet, aiken-uplc, and scalus-uplc all declare @evolution-sdk/evolution as a peerDependency (workspace:*), and changesets escalates peer-dependents to a major bump when the peer dep gets more than a patch. Replaying changeset version both ways:

package as merged (minor) as patch
@evolution-sdk/evolution 0.6.0 0.5.12
@evolution-sdk/devnet 4.0.0 3.0.13
@evolution-sdk/aiken-uplc 3.0.0 2.0.12
@evolution-sdk/scalus-uplc 3.0.0 2.0.12

One provider bugfix should not force three major releases. This reverts 588ebb37 and restores the changeset as patch. Nothing was published at 0.6.0, so there is no yanked version to work around.

After merge

The release run will open a fresh version PR at 0.5.12 / 3.0.13 / 2.0.12 / 2.0.12; merging that one publishes.

Verification

Versions confirmed back at 0.5.11 / 3.0.12 / 2.0.11 / 2.0.11 with the changeset restored as patch, and the 0.5.12 numbers above came from an actual changeset version run on a scratch worktree. The publish path itself cannot be exercised outside a release run — the next one is the real test, and it will now fail loudly instead of silently.

🤖 Generated with Claude Code

- pin npm to 11.x; npm 12 rejects the --no-git-checks flag changesets passes for pnpm workspaces
- drop continue-on-error so a failed publish fails the release run
- revert 'ci(changesets): version packages'; the Maestro changeset is patch, not minor
@hadelive
hadelive merged commit 2545221 into main Jul 29, 2026
10 checks passed
@hadelive
hadelive deleted the fix/release-publish-revert-version branch July 29, 2026 15:48
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