Move CI to pnpm 11 to match core - #93
Merged
Merged
Conversation
Bumps the pnpm version pin from 10 to 11 in all four ci.yml jobs and in release.yml, and adds a packageManager field to package.json so a contributor's local pnpm is no longer unconstrained. pnpm-lock.yaml regenerates byte-identical under pnpm 11, so no lockfile changes are needed. Closes #86
pnpm/action-setup@v4 errors when both its version input and package.json's packageManager field specify a pnpm version (ERR: "Multiple versions of pnpm specified"). Now that packageManager is the single source of truth, drop the version input and let action-setup read it from package.json.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
10to11in all fourci.ymljobs (format, lint, typecheck, test) and the onerelease.ymljob, matchinghaverstack/corepackageManagerfield topackage.json(previously absent, so local pnpm was unconstrained)pnpm-lock.yamlunder pnpm 11 — it comes out byte-identical, so no lockfile diffContext
Per #86: core moved to pnpm 11 because it needs OIDC to publish npm packages with provenance. This repo only publishes a Docker image to ghcr.io, so that motivation doesn't apply directly — the reason to match is avoiding lockfile-format churn between the two checkouts. Verified locally that the lockfile regenerates identically under 11, so this is a low-risk, format-only change.
Test plan
pnpm run format:checkpasses under pnpm 11pnpm run lintpasses under pnpm 11pnpm run typecheckpasses under pnpm 11pnpm test— 409/409 tests pass under pnpm 11pnpm-lock.yamlregenerated under pnpm 11 with no diffCloses #86
Generated by Claude Code