88jobs :
99 release :
1010 permissions :
11- contents : write # 允许创建 Release
11+ contents : write # 允许创建 Release 和上传文件
1212 strategy :
13- fail-fast : false
13+ fail-fast : false # 即使 Linux 失败了,Windows 和 Mac 也会继续打包完,不会全部中止
1414 matrix :
1515 platform : [macos-latest, ubuntu-22.04, windows-latest]
1616
1717 runs-on : ${{ matrix.platform }}
1818
1919 steps :
20- - uses : actions/checkout@v4
20+ - name : Checkout repository
21+ uses : actions/checkout@v4
2122
22- - name : setup node
23+ # 1. 配置 Node 环境并开启缓存
24+ - name : Setup Node.js
2325 uses : actions/setup-node@v4
2426 with :
2527 node-version : lts/*
28+ cache : ' npm' # 开启 npm 缓存,加快依赖安装速度
2629
27- - name : install Rust stable
30+ # 2. 配置 Rust 环境
31+ - name : Install Rust stable
2832 uses : dtolnay/rust-toolchain@stable
2933
30- # Linux 系统需要安装 Tauri + libudev 依赖(解决 libudev-sys 找不到 libudev)
31- - name : install dependencies (ubuntu only)
34+ # 3. 开启 Rust 编译缓存 (极大地加快后续发版速度)
35+ - name : Rust Cache
36+ uses : Swatinem/rust-cache@v2
37+ with :
38+ workspaces : ' ./src-tauri -> target'
39+
40+ # 4. Linux 专属系统依赖 (包含 Tauri 核心框架和串口底层驱动 libudev)
41+ - name : Install dependencies (Ubuntu only)
3242 if : matrix.platform == 'ubuntu-22.04'
3343 run : |
3444 sudo apt-get update
@@ -40,18 +50,18 @@ jobs:
4050 librsvg2-dev \
4151 patchelf
4252
43- # 安装前端依赖(根据你的包管理器调整:npm/yarn/pnpm)
44- - name : install frontend dependencies
53+ # 5. 安装前端依赖
54+ - name : Install frontend dependencies
4555 run : npm install
4656
47- # 使用 Tauri 官方 Action 编译并发布
48- - name : build tauri app
57+ # 6. 使用 Tauri 官方 Action 编译并发布到 Releases
58+ - name : Build and release Tauri app
4959 uses : tauri-apps/tauri-action@v0
5060 env :
5161 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
5262 with :
53- tagName : ${{ github.ref_name }} # 使用触发工作流的 tag 名称
54- releaseName : Serial Tool ${{ github.ref_name }}
55- releaseBody : 自动编译发布的版本。请在下方下载对应系统的安装包。
63+ tagName : ${{ github.ref_name }} # 自动获取当前触发的 tag
64+ releaseName : ' Serial Tool ${{ github.ref_name }}' # 加上引号防止语法错误
65+ releaseBody : ' 自动编译发布的版本。请在下方下载对应系统的安装包。'
5666 releaseDraft : false
5767 prerelease : false
0 commit comments