department-of-veterans-affairs/vets-website

View on GitHub
.github/workflows/install/action.yml

Summary

Maintainability
Test Coverage
name: Install dependencies
description: Install dependencies

inputs:
  key:
    description: keys for actions/cache@v4
    required: false
    default: ''
  restore-keys:
    description: restore-keys for actions/cache@v4
    required: false
    default: ''
  yarn_cache_folder:
    description: path for yarn cache
    required: false
    default: ''
  path:
    description: path for actions/cache@v4
    required: false
    default: ''

runs:
  using: composite
  steps:
    - name: Get Node version
      id: get-node-version
      shell: bash
      run: echo NODE_VERSION=$(cat .nvmrc) >> $GITHUB_OUTPUT

    - name: Setup Node
      uses: actions/setup-node@v4
      with:
        node-version: ${{ steps.get-node-version.outputs.NODE_VERSION }}

    - name: Setup Yarn
      shell: bash
      run: npm i -g yarn@1.19.1

    - name: Cache dependencies
      id: cache-dependencies
      uses: actions/cache@v4
      with:
        path: ${{ inputs.path }}
        key: ${{ steps.get-node-version.outputs.NODE_VERSION }}-${{ inputs.key }}
        # restore-keys: ${{ steps.get-node-version.outputs.NODE_VERSION }}-${{ inputs.restore-keys }}

    - name: Install dependencies
      uses: nick-fields/retry@v3
      with:
        command: |
          CYPRESS_INSTALL_BINARY=https://vetsgov-website-builds-s3-upload.s3.us-gov-west-1.amazonaws.com/artifacts/cypress/13.13.2.zip yarn install --frozen-lockfile --prefer-offline --production=false --network-timeout 1000000000
          npx cypress install
          npx cypress --version
        max_attempts: 3
        timeout_minutes: 7
      env:
        YARN_CACHE_FOLDER: ${{ inputs.yarn_cache_folder }}