Repository navigation
build(release): put the pinned pnpm in the dev shell the release workflow runs - #232
Merged
Merged
Conversation
…flow runs pnpm_11 is the pnpm the workspace tarballs build with, and mkPnpmWorkspacePackages refuses evaluation unless packageManager pins that exact version, so the shell's pnpm is the pinned one. The reusable release workflow runs github-release-management plan through nix develop. Its workspace reader spawns pnpm ls and pnpm config get, and the dev shell had no pnpm. On the runner the spawn failed, which the reader reports as manifest-unreadable at the repository root (Release run 37706216051) Verdict-Semantics: unchanged
Temporary: reverted in the next commit once the reading is recorded.
Run 37709084792 recorded it: host pnpm absent, dev shell pnpm 11.27.0, plan phase=version
Contributor
There was a problem hiding this comment.
Verified: 11/11 green on c1a4b8e; cause is WorkspaceStoreLive pnpm spawn -> ManifestUnreadable; the runner evidence run 37709084792 reached phase=version; the temp job was removed.
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
The first Release run after #230 (37706216051, on
36afef4d) failed inplan · derive phasewithrefused: manifest-unreadable, path: /home/runner/work/stryker-js-effect/stryker-js-effect. The dev shell had nopnpm; this adds the pinned one.Cause
github-release-management planruns throughnix develop. Its workspace reader,WorkspaceStoreLivein pnpm-release-management (packages/workspace-adapter/src/WorkspaceStoreLive.ts, same at our pinned603ecb49and at main7f83217), spawnspnpm ls -r --json --depth=-1(:56, fromlistMembers:68).ManifestUnreadableat the repository root (:64), which is why the log names the root directory and not apackage.json.flake.nixcomment: "pnpm is deliberately absent … corepack is the one thing allowed to resolve it"). The ubuntu runner has none either. Locally,nix developkeeps the hostPATH, which has the corepackpnpmshim, so the local plan passed.devShells.<system>.defaultmust providerelease-tools, pnpm, …"). The defect is on our side.Fix
pkgs.pnpm_11goes intodevShells.default. That is the pnpmworkspaceOfbuilds the tarballs with, andmkPnpmWorkspacePackagesthrows at evaluation unlesspackageManagerpins exactlypnpm.version(nix/lib/pnpm-workspace-packages.nix:69-70at603ecb49). So the shell's pnpm can't differ from the pinnedpnpm@11.27.0, which was the reason the old comment kept pnpm out. The comment is replaced.Evidence
nix develop --ignore-environment, with only hostgit/sshadded sols-remotecan reach origin):36afef4d:::error::refused: manifest-unreadable, path: /tmp/rb-before, exit 1,pnpm=empty.pnpm=/nix/store/…-pnpm-11.27.0/bin/pnpm,plan-release: pending_intents=20 this_cycle=0 deferred=0 -> phase=version, exit 0.nix.ymlran the reusable workflow's two plan steps verbatim (nix build .#workspace-tarballs, thennix develop --command github-release-management plan --tarballs "$TARBALLS" --output "$GITHUB_OUTPUT") on ubuntu-latest. Run 37709084792, job 113090448636, success:flake.nixonly. The Release workflow was not run.nix flake check --no-build: all checks passed. dprint does not cover.nix;./bin/dprint checkexits 0. actionlint passes on the temporary job.08031c89: CI 37709084924, Nix 37709084792, Commitlint 37709084802, Changeset Check 37709085376 all passed.Not changed
pnpmspawn asmanifest-unreadableat the root hides the cause. That's a diagnostics issue in that repo, reported separately, not fixed here.flake.lock. Bumpingpnpm-release-managementto the changelog-storage fix (pnpm-release-management#36) is the next layer, once chore(release): version packages #36 merges.Replaces #231 (same tree). A commit message there failed commitlint
body-full-stop, and pushed commits are not rewritten.Nothing was run with stryker.