Problem
The GitHub Actions workflows still use pnpm/action-setup@v6 followed by actions/setup-node@v5. Current CI logs contain warnings owned by those actions rather than by nx-forge:
actions/setup-node@v5 emits Node DEP0040 for punycode and DEP0169 for url.parse().
pnpm/action-setup@v6 emits a false-positive pnpm v10 installation-layout warning when its bootstrap pnpm self-updates to the version pinned by the repository.
- On Windows,
pnpm/action-setup@v6 emits DEP0190 because its self-installer uses shell-based child-process execution.
pnpm/action-setup now directs pnpm 11+ users to its successor, pnpm/setup.
PR #210 fixes the cache-write race introduced by its parallel CI jobs, but the repository-wide action setup should be modernized separately and consistently.
Scope
- Update every workflow that installs pnpm and Node, including PR CI, main CI, documentation, deployment, and release workflows.
- Prefer the supported
pnpm/setup@v2 path, or document a justified supported alternative.
- Preserve the repository pnpm version declared in
package.json.
- Preserve Node LTS coverage and frozen-lockfile enforcement.
- Define cache ownership so parallel jobs do not try to save the same cache key.
- Do not suppress deprecations or pin pnpm to an action-internal bootstrap version merely to hide warnings.
Acceptance criteria
References
Problem
The GitHub Actions workflows still use
pnpm/action-setup@v6followed byactions/setup-node@v5. Current CI logs contain warnings owned by those actions rather than by nx-forge:actions/setup-node@v5emits NodeDEP0040forpunycodeandDEP0169forurl.parse().pnpm/action-setup@v6emits a false-positive pnpm v10 installation-layout warning when its bootstrap pnpm self-updates to the version pinned by the repository.pnpm/action-setup@v6emitsDEP0190because its self-installer uses shell-based child-process execution.pnpm/action-setupnow directs pnpm 11+ users to its successor,pnpm/setup.PR #210 fixes the cache-write race introduced by its parallel CI jobs, but the repository-wide action setup should be modernized separately and consistently.
Scope
pnpm/setup@v2path, or document a justified supported alternative.package.json.Acceptance criteria
DEP0190,DEP0040, andDEP0169warnings no longer appear.References
destinput breaks when path contains a space (Windows) pnpm/action-setup#261punycodemodule is deprecated actions/setup-node#1364url.parse()behavior is not standardized actions/setup-node#1370