From 3ec224886a8137c126b5fa4a0008daf2df72a3ff Mon Sep 17 00:00:00 2001 From: xiaowen <0928du@gmail.com> Date: Sun, 28 Jun 2026 16:59:05 +0800 Subject: [PATCH] =?UTF-8?q?ci:=20=E6=96=B0=E5=A2=9E=20release=20workflow?= =?UTF-8?q?=20=E8=87=AA=E5=8A=A8=E6=9E=84=E5=BB=BA=E6=A1=8C=E9=9D=A2?= =?UTF-8?q?=E7=AB=AF=E5=AE=89=E8=A3=85=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 推送 v* tag 时,在 macOS / Windows runner 上分别构建 Flutter 桌面端, 打包成 zip 后自动上传到对应 GitHub Release。 解决本机(macOS)无法构建 Windows 包的限制。 Co-Authored-By: Claude Opus 4.8 (1M context) --- .github/workflows/release.yml | 61 +++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..cfa83c9 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,61 @@ +name: Release + +# 推送 v* tag 时触发:构建 macOS / Windows 桌面端安装包并上传到对应 Release +on: + push: + tags: + - 'v*' + +permissions: + contents: write # 需要写权限以创建/更新 Release 并上传产物 + +jobs: + build-macos: + name: 构建 macOS 包 + runs-on: macos-latest + defaults: + run: + working-directory: clients/app + steps: + - uses: actions/checkout@v4 + - name: 安装 Flutter + uses: subosito/flutter-action@v2 + with: + channel: stable + - name: 拉依赖 + run: flutter pub get + - name: 构建 macOS Release + run: flutter build macos --release + - name: 打包 .app 为 zip + run: | + cd build/macos/Build/Products/Release + ditto -c -k --sequesterRsrc --keepParent lowenssh.app LowenSSH-macos.zip + - name: 上传到 Release + uses: softprops/action-gh-release@v2 + with: + files: clients/app/build/macos/Build/Products/Release/LowenSSH-macos.zip + + build-windows: + name: 构建 Windows 包 + runs-on: windows-latest + defaults: + run: + working-directory: clients/app + steps: + - uses: actions/checkout@v4 + - name: 安装 Flutter + uses: subosito/flutter-action@v2 + with: + channel: stable + - name: 拉依赖 + run: flutter pub get + - name: 构建 Windows Release + run: flutter build windows --release + - name: 打包 runner 产物为 zip + run: | + cd build/windows/x64/runner/Release + Compress-Archive -Path * -DestinationPath LowenSSH-windows.zip + - name: 上传到 Release + uses: softprops/action-gh-release@v2 + with: + files: clients/app/build/windows/x64/runner/Release/LowenSSH-windows.zip