Skip to content

[PM Fixer] Fix pnpm 12.2.1 compatibility: use --store-dir in prepareArtifactoryForPnpmBuild - #3692

Merged
fluxxBot merged 3 commits into
masterfrom
pm-compat/pnpm-12.2.1-1484166
Sep 8, 2026
Merged

fluxxBot merged 3 commits into
masterfrom
pm-compat/pnpm-12.2.1-1484166

Conversation

@agrasth

@agrasth agrasth commented Sep 2, 2026 •

Copy link
Copy Markdown
Contributor

Summary

TestPnpmPublishWorkspace, TestPnpmInstallAndPublishNormalProject, TestPnpmInstallAndPublishWorkspace, and TestPnpmInstallWithPreviousBuildCache all failed with:

error: unexpected argument '-s' found
Usage: pnpm install [OPTIONS]

The prepareArtifactoryForPnpmBuild helper (pnpm_test.go:514) constructed the cache-warm command with a single-dash long option:

jfrog pnpm install -store-dir=/path/to/caches

pnpm interprets -store-dir as the short flag -s followed by a positional argument tore-dir=..., and pnpm 12.x rejects unknown short flags with a hard error. All prior pnpm versions tolerated single-dash long options (as aliases or silently ignored), but pnpm 12 dropped that tolerance.

The same --store-dir flag was already spelled correctly (double-dash) everywhere else in the file — this was an isolated typo in the one test helper function.

Fix

Changed the single-dash -store-dir= to double-dash --store-dir= on line 514 of pnpm_test.go inside prepareArtifactoryForPnpmBuild. This is a test-only fix — no product behavior changed.

Compatibility impact

No exported symbols were changed. This is a one-character fix in a test helper function. All other supported pnpm versions are unaffected because --store-dir has been valid in pnpm since long before the supported range.

Test plan

  • go build ./... — could not run: Go is not installed in the fix-authoring environment. The change is a string literal in a test file with no logic impact; a compile error here is not plausible.
  • gofmt -l pnpm_test.go — could not run for the same reason. The change is a single character inside a string literal; no formatting impact.
  • go vet ./... — could not run for the same reason.
  • Existing unit tests for changed package — could not run (no live Artifactory in this environment).
  • The live PM integration test (pnpm 12.2.1 against the full test suite) cannot be run in this environment and must be re-triggered by CI.

Opened automatically by PM Compat Fixer investigating pnpm 12.2.1.

…in test helper

prepareArtifactoryForPnpmBuild used a single-dash flag (-store-dir) which
pnpm 12.x no longer accepts as a long option, causing all tests that call
initPnpmFilesTest or initPnpmWorkspaceTest to fail with:
  error: unexpected argument '-s' found

Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
@agrasth
agrasth deployed to build-gate September 2, 2026 05:56 — with GitHub Actions Active
@github-actions

github-actions Bot commented Sep 2, 2026 •

Copy link
Copy Markdown
Contributor


Thank you for your submission, we really appreciate it. Like many open-source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution. You can sign the CLA by just posting a Pull Request Comment same as the below format.


I have read the CLA Document and I hereby sign the CLA


1 out of 2 committers have signed the CLA.
✅ (agrasth)[https://github.com/agrasth]
❌ @pm-compat-fixer
pm-compat-fixer seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot.

@agrasth agrasth added the pm-compat-fixer Opened automatically by JFrog's PM Compat Fixer agent label Sep 2, 2026
@agrasth agrasth changed the title Fix pnpm 12.2.1 compatibility: use --store-dir in prepareArtifactoryForPnpmBuild [PM Fixer] Fix pnpm 12.2.1 compatibility: use --store-dir in prepareArtifactoryForPnpmBuild Sep 2, 2026
@agrasth
agrasth deployed to build-gate September 8, 2026 08:03 — with GitHub Actions Active
…atrix

0042b2a (part of the 2.124.0 version bump, unrelated to this PR) added a
workaround pinning debian bullseye's bullseye-security source to a
snapshot.debian.org timestamp, since regular security support for
bullseye had ended and its Packages index was serving 404s. Rather than
carry that pinned-timestamp workaround indefinitely for an EOL distro,
drop debian-11/bullseye from the test matrix entirely and revert the
workaround it existed for - matrix is now ubuntu 20.04/22.04/24.04 and
debian 12/13.
@agrasth
agrasth deployed to build-gate September 8, 2026 08:21 — with GitHub Actions Active
@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

@fluxxBot
fluxxBot merged commit db1d825 into master Sep 8, 2026
128 of 141 checks passed
@fluxxBot
fluxxBot deleted the pm-compat/pnpm-12.2.1-1484166 branch September 8, 2026 08:48
agrasth added a commit that referenced this pull request Sep 8, 2026
This repo's own CI (pnpmTests.yml, gates every PR merge here) was
hardcoded to pnpm-version: [10, 11]. pnpm 12 is the actual current
latest release (#3692 fixed a real pnpm 12 compatibility
bug found by the external PM-compat-monitor pipeline), but this matrix
never tested it - meaning a pnpm-12 regression could land through normal
PR review and only get caught later, externally, off-cycle.

Adds 12 to the matrix. Node 22.13 (already used for the 10/11 legs)
covers pnpm 12 too - nothing in the compat-monitor's investigation found
evidence pnpm 12 raised that floor further. Verified the pnpm-version
validation step's bash logic against a real pnpm 12.3.4 install.

This branch was successfully deployed

1 active deployment
build-gate — 404d3507 Deployed Sep 8, 2026 by agrasth via Approval gate #1133
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pm-compat-fixer Opened automatically by JFrog's PM Compat Fixer agent

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants