Skip to content

Build and Release

zipax-bot edited this page Aug 11, 2026 · 2 revisions

构建与发布

环境要求

  • Node.js 22+(Vite 6 / React 19)
  • Rust stable(cargo workspace,edition 2021)
  • Tauri CLI v2

本地构建

cd zipax-cross
npm ci
npm run build          # tsc + vite build(输出到 dist/)
npx tauri build        # 编译 Rust 并打包

开发模式(热更新):

npm run tauri dev

Linux 系统要求

  • 需要 Ubuntu 22.04 及以上(WebKitGTK 4.1),Ubuntu 20.04 不支持
  • 系统依赖:
sudo apt-get install -y libwebkit2gtk-4.1-0 libde265-0
  • deb/rpm 包内已声明 libde265-0(rpm: libde265)与 ghostscript 依赖
  • 安装后的启动命令是 zipax-app(不是 zipax)
  • 旧版或非 Ubuntu 发行版推荐使用 AppImage(自带运行时库)

CI/CD 发布流水线

工作流文件:.github/workflows/release.yml

触发方式

  1. 推送版本标签:git tag v0.25.5 && git push origin v0.25.5
  2. 手动触发:workflow_dispatch,输入 version(如 0.25.5)

构建矩阵

平台 runner 预装依赖
macOS macos-latest brew install cmake libde265
Windows windows-latest vcpkg 安装 libheif:x64-windows-static
Linux ubuntu-22.04 apt 安装 webkit2gtk-4.1、ayatana、librsvg、patchelf、nasm、cmake、libde265-dev

发布产物

  • macOS:.dmg、.app.tar.gz
  • Windows:.exe(NSIS,被动安装模式)、.msi(WiX)
  • Linux:.deb、.rpm、.AppImage
  • 每个产物附带 .sig 签名文件 + latest.json(updater 元数据)

质量校验(构建时自动执行)

  • Windows 图标校验:icon.ico 需含 16/32/48/256 多 DPI 图层、StoreLogo 角落透明
  • Windows 可执行文件校验:GUI 子系统、嵌入图标、无 heif.dll 动态依赖
  • 产物大小报告:写入 GitHub Actions step summary

自动更新(Updater)

  • 签名密钥:TAURI_SIGNING_PRIVATE_KEY(secret),密码 TAURI_SIGNING_PRIVATE_KEY_PASSWORD
  • 更新端点:https://github.com/2716190547/zipax/releases/latest/download/latest.json
  • Windows 安装模式:passive(无交互)

发布检查清单

  1. cargo test 通过
  2. 版本号同步更新:package.json、tauri.conf.json、Cargo.toml(workspace)、package-lock.json
  3. 更新 RELEASE_NOTES.md
  4. 推送 tag 或 workflow_dispatch 触发构建
  5. 构建成功后检查各平台产物,将草稿 Release 转为正式发布

回到 Home · English: Build and Release

Clone this wiki locally