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@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4 with: run_install: false package_json_file: frontend/package.json - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6 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