34 lines
1.1 KiB
YAML
34 lines
1.1 KiB
YAML
name: Setup node_modules
|
|
description: Setup Node.js and install dependencies
|
|
|
|
inputs:
|
|
working-directory:
|
|
description: 'working directory for yarn install'
|
|
default: ./
|
|
required: false
|
|
|
|
runs:
|
|
using: composite
|
|
steps:
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v3
|
|
with:
|
|
node-version: 18.x
|
|
|
|
- name: Cache dependencies
|
|
id: yarn-cache
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: |
|
|
${{ inputs.working-directory }}/node_modules
|
|
.yarn/install-state.gz
|
|
key: ${{ runner.os }}-yarn-${{ inputs.working-directory }}-${{ hashFiles('yarn.lock') }}-${{ hashFiles('**/package.json', '!node_modules/**') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-yarn-${{ inputs.working-directory }}-${{ hashFiles('yarn.lock') }}-
|
|
${{ runner.os }}-yarn-${{ inputs.working-directory }}
|
|
- name: Install dependencies
|
|
working-directory: ${{ inputs.working-directory }}
|
|
if: steps.yarn-cache.outputs.cache-hit != 'true'
|
|
run: yarn install --immutable --ignore-scripts
|
|
shell: bash
|
|
|