name: Release on: push: tags: - 'v*' workflow_dispatch: permissions: contents: write jobs: package-mac: runs-on: macos-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup pnpm uses: pnpm/action-setup@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: 20 cache: pnpm - name: Install dependencies run: pnpm install --no-frozen-lockfile - name: Build app run: pnpm build - name: Package macOS uses: nick-fields/retry@v3 with: timeout_minutes: 30 max_attempts: 3 retry_wait_seconds: 10 command: pnpm dist:mac --publish always env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} CSC_LINK: ${{ secrets.CSC_LINK }} CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }} APPLE_ID: ${{ secrets.APPLE_ID }} APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_APP_SPECIFIC_PASSWORD }} APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }} package-win: runs-on: windows-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup pnpm uses: pnpm/action-setup@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: 20 cache: pnpm - name: Install dependencies run: pnpm install --no-frozen-lockfile - name: Build app run: pnpm build - name: Package Windows env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: pnpm dist:win --publish always