# SPDX-FileCopyrightText: 2021 The HedgeDoc developers (see AUTHORS file)
#
# SPDX-License-Identifier: AGPL-3.0-only

name: Setup Node
description: "Setups node and configures the cache"

inputs:
  NODEJS_VERSION:
    required: true
    description: "NodeJS version to install"

runs:
  using: "composite"
  steps:
    - name: Get yarn cache directory path
      id: yarn-cache-dir-path
      run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT
      shell: bash

    - name: Cache yarn cache
      uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
      id: yarn-cache
      with:
        path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
        key: ${{ runner.os }}-yarn-master

    - name: Set up NodeJS
      uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
      with:
        node-version: ${{ inputs.NODEJS_VERSION }}

    - name: Install dependencies
      run: yarn install --immutable
      working-directory: .
      shell: bash
