keycloak-scim/.github/actions/pnpm-setup/action.yml

46 lines
1.2 KiB
YAML
Raw Normal View History

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
default: "20"
2023-05-05 16:03:24 +00:00
runs:
using: composite
steps:
- name: Set up Node.js
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: |
echo "store-path=$(pnpm store path --silent)" >> $GITHUB_OUTPUT
2023-05-05 16:03:24 +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 }}
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
# 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