name: Release on: push: tags: ["v*"] permissions: contents: write jobs: build-windows: runs-on: windows-latest steps: - uses: actions/checkout@v7 - uses: actions/setup-node@v7 with: node-version: 24 cache: npm - uses: dtolnay/rust-toolchain@stable - uses: Swatinem/rust-cache@v2 with: workspaces: src-tauri - name: 安装前端依赖 run: npm ci # 构建 NSIS 安装包并上传到同名 GitHub Release(草稿) # tauri.conf.json 的 beforeBuildCommand 会自动执行 npm run build # 显式传 tagName/releaseName:不依赖 action 从 git ref 推断(曾出现跳过上传的问题) - name: 构建并发布 uses: tauri-apps/tauri-action@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tagName: v__VERSION__ releaseName: "KimiCodeBar for Windows v__VERSION__" releaseBody: "见下方 Assets 下载安装包(NSIS,当前用户安装、免管理员)。" releaseDraft: true prerelease: false # 便携版:把独立 exe 打成 zip 追加到同一 Release(草稿)里 - name: 打包便携版 zip shell: pwsh run: | $ver = (Get-Content src-tauri/Cargo.toml | Select-String '^version = "(.+)"').Matches[0].Groups[1].Value Compress-Archive -Path "src-tauri/target/release/kimicodebar.exe" -DestinationPath "src-tauri/target/release/KimiCodeBar_${ver}_x64-portable.zip" -Force # 显式 draft: true——softprops 默认 draft:false 会把 tauri-action 建的草稿直接发布, # 「核对草稿再 Publish」闸门会名存实亡(v1.2.1 踩过,2026-08-19) - name: 上传便携版到 Release uses: softprops/action-gh-release@v3 with: files: src-tauri/target/release/KimiCodeBar_*_x64-portable.zip draft: true