name: 'Setup Tests' description: 'Set up pnpm, node w/ pnpm cache, install and audit deps, compile, and restore electron cache' inputs: cache-key: description: 'The key to the electron cache' required: true cache-path: description: 'The path to the electron cache' required: true version: description: 'The pnpm version to use' required: false default: 9.4.0 runs: using: 'composite' steps: - name: Setup pnpm uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0 with: version: ${{ inputs.version }} - name: Setup python uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5 with: python-version: '3.11' - name: Setup node uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4 with: node-version: '22' cache: 'pnpm' - name: Install dependencies run: pnpm install --frozen-lockfile shell: bash - name: Compile run: pnpm compile shell: bash - name: Cache Electron uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4.2.2 with: path: ${{ inputs.cache-path }} key: ${{ inputs.cache-key }} ## Usage # - name: Setup Tests # uses: ./.github/actions/pretest # with: # cache-path: ~/Library/Caches/electron # cache-key: v-23.3.10-macos-electron