name: Yarn Install

description: Install Yarn v4 and run yarn install.

inputs:
  working_directory:
    description: The directory to install dependencies in.
    required: false
    default: "."

runs:
  using: "composite"
  steps:
    - name: Install Yarn v4
      shell: bash
      run: |
        corepack enable
        corepack prepare yarn@4.6.0 --activate
        # Ensure we're using the correct version
        yarn --version

    - name: Setup Node.js
      uses: actions/setup-node@v4
      with:
        node-version-file: .nvmrc
        cache: "yarn"
        cache-dependency-path: |
          yarn.lock
          .yarnrc.yml

    - name: Install dependencies
      uses: nick-fields/retry@v3
      with:
        timeout_minutes: 10
        max_attempts: 3
        retry_wait_seconds: 5
        command: yarn install --immutable
