name: Setup Frontend description: | Common setup for frontend jobs using pnpm Skips heavy binary installs that are needed for e2e by default inputs: install-e2e-binaries: description: 'Install heavy e2e binary downloads' required: false default: 'false' runs: using: "composite" steps: - if: inputs.install-e2e-binaries == 'false' shell: bash run: | echo "CYPRESS_INSTALL_BINARY=0" >> $GITHUB_ENV echo "PUPPETEER_SKIP_DOWNLOAD=true" >> $GITHUB_ENV echo "PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1" >> $GITHUB_ENV - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v4.4.0 with: run_install: false package_json_file: frontend/package.json - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: node-version-file: frontend/.nvmrc cache: 'pnpm' cache-dependency-path: frontend/pnpm-lock.yaml - name: Install dependencies working-directory: frontend run: pnpm install --frozen-lockfile --prefer-offline shell: bash