name: Release CI on: push: tags: - 'v*' workflow_dispatch: concurrency: group: release-${{ github.ref }} cancel-in-progress: true jobs: publish-tauri: permissions: contents: write strategy: fail-fast: false matrix: include: - platform: 'macos-latest' # for Arm based macs (M1 and above). args: '--target aarch64-apple-darwin' - platform: 'macos-latest' # for Intel based macs. args: '--target x86_64-apple-darwin' - platform: 'windows-latest' args: '' runs-on: ${{ matrix.platform }} steps: - uses: actions/checkout@v4 # 安装 Node.js - name: Setup Node uses: actions/setup-node@v4 with: node-version: '22' # 安装 pnpm - name: Install pnpm run: npm install -g pnpm@latest - name: Install dependencies run: pnpm install - name: Build Vite + Tauri run: pnpm build # 安装 Rust - name: install Rust stable uses: dtolnay/rust-toolchain@stable # Set this to dtolnay/rust-toolchain@nightly with: # Those targets are only used on macos runners so it's in an `if` to slightly speed up windows and linux builds. targets: ${{ matrix.platform == 'macos-latest' && 'aarch64-apple-darwin,x86_64-apple-darwin' || '' }} - name: Rust cache uses: swatinem/rust-cache@v2 with: workspaces: './src-tauri -> target' - name: Create release uses: tauri-apps/tauri-action@v0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # 使用之前配置的私钥 TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }} # 使用之前配置的私钥密码 TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }} with: tagName: v__VERSION__ #这个动作会自动将\_\_VERSION\_\_替换为app version releaseName: 'v__VERSION__' releaseBody: 'See the assets to download and install this version.' releaseDraft: true prerelease: false args: ${{ matrix.args }}