Skip to content

ci: pin dx-team-toolkit workflows to pnpm 9#255

Merged
JuroUhlar merged 9 commits into
mainfrom
chore/pin-pnpm-via-corepack
Jul 2, 2026
Merged

ci: pin dx-team-toolkit workflows to pnpm 9#255
JuroUhlar merged 9 commits into
mainfrom
chore/pin-pnpm-via-corepack

Conversation

@JuroUhlar

@JuroUhlar JuroUhlar commented Jul 2, 2026

Copy link
Copy Markdown
Collaborator
  • Pin all pnpm-using dx-team-toolkit reusable-workflow refs from the moving @v1 tag to 0de9828, the last revision that installs pnpm 9: build.yml, coverage-report.yml, analyze-commits.yml (×2), release.yml, functional_tests.yml.
  • No packageManager pin and no pnpm-workspace.yaml changes — everything outside the workflow refs matches main.

Discussion point: why pin the toolkit to pnpm 9 instead of pinning pnpm 11 via packageManager

The toolkit's @v1 tag was updated to install pnpm 11, which broke CI three separate ways at once: the strict build-scripts gate (ERR_PNPM_IGNORED_BUILDS on esbuild), the dropped default public-hoisting of *eslint*/*prettier* (eslint: not found at lint), and pnpm 11's Node ≥22.13 requirement vs. this SDK's Node 18–21 smoke matrix (engines: node >=18.17.0). Pinning pnpm 11 via packageManager required multiple compat shims and still failed the Node 18–21 smoke tests. Freezing the toolkit to the last pnpm-9 revision fixes all three with a minimal diff. Open to the alternative if we'd rather commit to pnpm 11 and drop Node <22 support.

Note: e2e-tests.yml, reset-prerelease-branch.yml, set-datadog-team.yml left on @v1

Those toolkit workflows don't install pnpm, so they're unaffected and stay on the moving tag.

Follow-up: durable fix belongs in dx-team-toolkit

This is a local pin against a symptom — @v1 will keep shipping pnpm 11 to every other repo/branch. The standard pnpm version (or making the toolkit tolerate Node 18) should be decided upstream in dx-team-toolkit.

@changeset-bot

changeset-bot Bot commented Jul 2, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 4a680fc

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Comment thread package.json Outdated
@erayaydin

Copy link
Copy Markdown
Member

We also need to approve building esbuild@0.28.1

JuroUhlar added 4 commits July 2, 2026 15:08
- Pin packageManager to pnpm@11.7.0 with corepack integrity hash
- Bump coverage-diff workflow to @v1 (drops hardcoded pnpm version: 9)
- Drop version: 9 from functional_tests and bump action-setup to v6.0.9
pnpm 11.x errors on ignored build scripts (ERR_PNPM_IGNORED_BUILDS);
esbuild needs its postinstall to fetch its native binary.
pnpm 11.5.0 gates build scripts via allowBuilds in pnpm-workspace.yaml;
onlyBuiltDependencies in package.json is not honored in a workspace.
@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Coverage report

St.
Category Percentage Covered / Total
🟢 Statements 100% 183/183
🟢 Branches 100% 63/63
🟢 Functions 100% 35/35
🟢 Lines 100% 181/181

Test suite run success

76 tests passing in 9 suites.

Report generated by 🧪jest coverage report action from 4a680fc

Show full coverage report
St File % Stmts % Branch % Funcs % Lines Uncovered Line #s
🟢 All files 100 100 100 100
🟢  src 100 100 100 100
🟢   index.ts 100 100 100 100
🟢   sealedResults.ts 100 100 100 100
🟢   serverApiClient.ts 100 100 100 100
🟢   types.ts 100 100 100 100
🟢   urlUtils.ts 100 100 100 100
🟢   webhook.ts 100 100 100 100
🟢  src/errors 100 100 100 100
🟢   apiErrors.ts 100 100 100 100
🟢   handleErrorResponse.ts 100 100 100 100
🟢   toError.ts 100 100 100 100
🟢   unsealError.ts 100 100 100 100

JuroUhlar added 4 commits July 2, 2026 15:31
pnpm 11 dropped the default public-hoist-pattern for *eslint*/*prettier*
that pnpm 9 provided; without it the eslint bin is not linked into the
root node_modules/.bin and the lint script fails with 'eslint: not found'.
pnpm 9.15.9 is the last version supporting Node 18+ (11.x requires
Node >=22.13, which breaks the Node 18-21 smoke tests). pnpm 9 also
public-hoists eslint/prettier and has no strict build-scripts gate,
so no extra workspace config is needed.
The dx-team-toolkit @v1 tag moved to a revision that installs pnpm 11
(requires Node >=22.13 and drops eslint/prettier public-hoisting),
breaking build/lint and the Node 18-21 smoke tests. Pin all reusable
workflow refs to 0de9828, the last revision that uses pnpm 9, restoring
green CI without a packageManager pin.
The build job in functional_tests.yml also referenced
build-typescript-project.yml@v1, which now installs pnpm 11 and fails
with 'No pnpm version specified' once the packageManager field is gone.
Pin it to 0de9828 alongside the other toolkit refs.
@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

🚀 Following releases will be created using changesets from this PR:

@fingerprint/node-sdk@7.4.0

Minor Changes

  • events: Add device, os, and os_version to Event (7525139)
  • events-search: Add source query parameter to filter events by edge (Automation Intelligence) source (7525139)
  • events: Add unknown value to proxy_details.proxy_type, reported when a proxy is detected solely by the ML model (a5c7d75)
  • events: Add battery_level and battery_low_power_mode to RawDeviceAttributes (7525139)
  • events: Add ml_prediction to vpn_methods (7525139)
  • events: Add vpn_ml_score to Event (7525139)
  • events-search: Document 404 response for searchEvents operation (7525139)

Patch Changes

  • Include operation parameter examples as @example tags in the generated type JSDoc (d17d0b1)

@JuroUhlar JuroUhlar changed the title chore: pin pnpm version via packageManager field ci: pin dx-team-toolkit workflows to pnpm 9 Jul 2, 2026
@JuroUhlar
JuroUhlar requested a review from erayaydin July 2, 2026 14:50
@JuroUhlar
JuroUhlar dismissed erayaydin’s stale review July 2, 2026 15:02

changed approach

@JuroUhlar
JuroUhlar merged commit bfbd167 into main Jul 2, 2026
17 checks passed
@JuroUhlar
JuroUhlar deleted the chore/pin-pnpm-via-corepack branch July 2, 2026 15:02
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.

3 participants