name: Setup description: Setup Node.js and install dependencies runs: using: composite steps: - name: Setup Node.js uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: node-version-file: .nvmrc - name: Restore dependencies id: yarn-cache uses: actions/cache/restore@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 with: path: | **/node_modules .yarn/install-state.gz key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}-${{ hashFiles('**/package.json', '!node_modules/**') }} restore-keys: | ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }} ${{ runner.os }}-yarn- - name: Install dependencies if: steps.yarn-cache.outputs.cache-hit != 'true' run: yarn install --immutable shell: bash - name: Cache dependencies if: steps.yarn-cache.outputs.cache-hit != 'true' uses: actions/cache/save@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 with: path: | **/node_modules .yarn/install-state.gz key: ${{ steps.yarn-cache.outputs.cache-primary-key }}