🏡 index : quine-global-boneyard/electron-builder.git

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