name: setup-node-pnpm description: "Install pnpm, setup Node.js, install dependencies" inputs: node-version: description: Node.js version required: false default: "24" install-args: description: Arguments passed to pnpm install required: false default: "--frozen-lockfile" registry-url: description: Optional npm registry URL passed to actions/setup-node required: false default: "" skip-install: description: Set to 'true' to skip the pnpm install step; caller runs install themselves required: false default: "false" runs: using: composite steps: - name: Install pnpm uses: pnpm/action-setup@v4 - name: Setup Node.js uses: actions/setup-node@v5 with: node-version: ${{ inputs.node-version }} cache: pnpm registry-url: ${{ inputs.registry-url }} - name: Install dependencies if: ${{ inputs.skip-install != 'true' }} shell: bash run: pnpm install ${{ inputs.install-args }}