name: Release on: push: tags: - v* workflow_dispatch: jobs: release: runs-on: ${{ matrix.os }} strategy: matrix: os: [macos-latest, ubuntu-latest, windows-latest] include: - os: macos-latest platform: mac - os: ubuntu-latest platform: linux - os: windows-latest platform: windows steps: - uses: actions/checkout@v4 - uses: pnpm/action-setup@v4 # Install pnpm using packageManager key in package.json - name: Use Node.js 20 uses: actions/setup-node@v4 with: node-version: 20 cache: "pnpm" - name: Install dependencies run: pnpm install --frozen-lockfile - name: Build run: pnpm build - name: Run Electron Builder if: ${{ matrix.platform != 'mac' }} run: | pnpm electron-builder --${{ matrix.platform }} --publish always env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Run Electron Builder if: ${{ matrix.platform == 'mac' }} run: | echo "$API_KEY" > apple.p8 pnpm electron-builder --${{ matrix.platform }} --publish always env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} CSC_LINK: ${{ secrets.APPLE_SIGNING_CERT }} API_KEY: ${{ secrets.APPLE_API_KEY }} APPLE_API_KEY: apple.p8 APPLE_API_KEY_ID: ${{ secrets.APPLE_API_KEY_ID }} APPLE_API_ISSUER: ${{ secrets.APPLE_API_ISSUER }}