2023-05-05 16:03:24 +00:00
|
|
|
name: Setup PNPM
|
|
|
|
description: Sets up Node.js and runs PNPM so dependencies are installed.
|
|
|
|
|
|
|
|
inputs:
|
|
|
|
node-version:
|
|
|
|
description: Node.js version
|
|
|
|
required: false
|
2024-04-02 14:14:58 +00:00
|
|
|
default: "20"
|
2023-05-05 16:03:24 +00:00
|
|
|
|
|
|
|
runs:
|
|
|
|
using: composite
|
|
|
|
steps:
|
|
|
|
- name: Set up Node.js
|
2024-03-22 07:57:41 +00:00
|
|
|
uses: actions/setup-node@v4
|
2023-05-05 16:03:24 +00:00
|
|
|
with:
|
|
|
|
node-version: ${{ inputs.node-version }}
|
|
|
|
check-latest: true
|
|
|
|
|
|
|
|
- name: Enable Corepack
|
|
|
|
shell: bash
|
|
|
|
run: corepack enable
|
|
|
|
|
|
|
|
- name: Get PNPM store directory
|
|
|
|
id: pnpm-cache
|
|
|
|
shell: bash
|
|
|
|
run: |
|
2023-10-30 11:50:06 +00:00
|
|
|
echo "store-path=$(pnpm store path --silent)" >> $GITHUB_OUTPUT
|
2023-05-05 16:03:24 +00:00
|
|
|
|
2024-03-22 07:57:41 +00:00
|
|
|
- uses: actions/cache@v4
|
2023-05-05 16:03:24 +00:00
|
|
|
name: Setup PNPM cache
|
|
|
|
with:
|
|
|
|
# Also cache Cypress binary.
|
|
|
|
path: |
|
|
|
|
~/.cache/Cypress
|
|
|
|
${{ steps.pnpm-cache.outputs.store-path }}
|
2024-08-13 07:05:29 +00:00
|
|
|
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('pnpm-lock.yaml') }}
|
2023-05-05 16:03:24 +00:00
|
|
|
restore-keys: |
|
|
|
|
${{ runner.os }}-pnpm-store-
|
|
|
|
|
|
|
|
- name: Install dependencies
|
|
|
|
shell: bash
|
2024-08-13 07:05:29 +00:00
|
|
|
# Run the store prune after the installation to avoid having caches which grow over time
|
|
|
|
run: |
|
|
|
|
pnpm install --prefer-offline --frozen-lockfile
|
|
|
|
pnpm store prune
|