-
-
Notifications
You must be signed in to change notification settings - Fork 140
Description
Context
The recent pnpm 10.14 release introduces a new feature: devEngines.runtime
,
allows declaring a JavaScript runtime (Node, Deno, Bun) in package.json
.
Current recommended CI setup uses both actions/setup-node
and pnpm/action-setup
actions:
Use cache to reduce installation time
Code reference
on: - push - pull_request jobs: cache-and-install: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - uses: pnpm/action-setup@v4 name: Install pnpm with: version: 10 run_install: false - name: Install Node.js uses: actions/setup-node@v4 with: node-version: 20 cache: 'pnpm' - name: Install dependencies run: pnpm install
https://github.com/pnpm/action-setup?tab=readme-ov-file#notes
This action does not setup Node.js for you, use actions/setup-node yourself.
Questions
Given this new capability, I’d like to know whether using actions/setup-node
in GitHub Actions workflows remains necessary,
or if pnpm@10.14
can fully handle runtime provisioning for CI environments:
If devEngines.runtime
is used for Node.js from pnpm
, does actions/setup-node
become redundant?
Currently, setup-node
offers functionality beyond installing Node, e.g.,
dependency caching (cache: pnpm
), and handling authenticated registries.
If I rely solely on pnpm/setup-action
I am losing these capabilities
Are there any plans for pnpm/action-setup
to support similar features in the future?
Due to the state of devEngines
support in actions/setup-node
(pr in review: actions/setup-node#1283)
I don't have the chance to test how they behave together.
However, I’m curious how the new devEngines.runtime
capability in pnpm
may affect the role pnpm/action-setup
in GitHub Actions workflows. 😅
Thanks!