mirror of
https://github.com/JefferyHcool/BiliNote.git
synced 2026-06-13 03:30:10 +08:00
fix(desktop): 构建时从 tag 注入版本号,修产物版本恒为 2.0.0
桌面端构建产物(.dmg/.msi 文件名 + app 内部版本)一直是 2.0.0: Tauri 取 tauri.conf.json 的静态 version 字段作为产物版本,而 Release 工作流只把 tag 名用作 Release 标题,没同步到 conf → 产物版本与 Release 版本错位。 在 pnpm tauri build 前新增 Sync version 步骤,从 github.ref_name(形如 v2.3.2,去掉前缀 v)注入版本到 tauri.conf.json。以后每次 tag 发版自动 对齐;workflow_dispatch 手动构建无 tag 时跳过,保留静态值不破坏。 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
13
.github/workflows/main.yml
vendored
13
.github/workflows/main.yml
vendored
@@ -79,6 +79,19 @@ jobs:
|
||||
key: ${{ runner.os }}-cargo-${{ hashFiles('BillNote_frontend/src-tauri/Cargo.lock') }}
|
||||
restore-keys: ${{ runner.os }}-cargo-
|
||||
|
||||
# 从 tag 注入版本号到 tauri.conf.json:Tauri 取该文件的静态 version 作为
|
||||
# 产物版本,不同步的话构建产物会恒为 conf 里写死的值(此前的 2.0.0)。
|
||||
# github.ref_name 形如 v2.3.2,去掉前缀 v。workflow_dispatch(无 tag)时跳过,保留静态值。
|
||||
- name: Sync version from tag
|
||||
if: startsWith(github.ref, 'refs/tags/v')
|
||||
working-directory: BillNote_frontend
|
||||
shell: bash
|
||||
run: |
|
||||
VERSION="${GITHUB_REF_NAME#v}"
|
||||
echo "Injecting version $VERSION into tauri.conf.json"
|
||||
node -e "const f='src-tauri/tauri.conf.json'; const fs=require('fs'); const j=JSON.parse(fs.readFileSync(f,'utf8')); j.version=process.argv[1]; fs.writeFileSync(f, JSON.stringify(j,null,2)+'\n');" "$VERSION"
|
||||
node -e "console.log('tauri.conf.json version =', require('./src-tauri/tauri.conf.json').version)"
|
||||
|
||||
# 打包 Tauri 应用
|
||||
- name: Build Tauri App
|
||||
working-directory: BillNote_frontend
|
||||
|
||||
Reference in New Issue
Block a user