Skip to content

fix(ci): 修复 Linux AppImage linuxdeploy 导致的 release 失败 - #47

Merged
AnlangA merged 1 commit into
masterfrom
fix/ci-linux-appimage-release
Sep 12, 2026
Merged

AnlangA merged 1 commit into
masterfrom
fix/ci-linux-appimage-release

Conversation

@AnlangA

@AnlangA AnlangA commented Sep 12, 2026

Copy link
Copy Markdown
Owner

问题

v1.2.1 Release 在 Linux 打包失败,Windows NSIS 与 macOS DMG 已通过。失败点:

Bundling bbcom_1.2.1_amd64.AppImage
failed to bundle project: `failed to run linuxdeploy`

Rust 已经编完。Tauri 默认日志级别会丢掉 linuxdeploy stderr,所以 CI 只看到这句。同类失败常见于 linuxdeploy 自带 strip 处理不了带 ELF RELR(.relr.dyn)的系统库。

失败 run:https://github.com/AnlangA/bbcom/actions/runs/34677882857

改动

Linux AppImage/deb 打包步骤增加:

  • NO_STRIP=true:跳过有问题的 strip
  • APPIMAGE_EXTRACT_AND_RUN=1:没有 FUSE 时也能跑 plugin AppImage
  • tauri build -v:下次失败能看到 linuxdeploy 原文

本地验证

  • NO_STRIP=true APPIMAGE_EXTRACT_AND_RUN=1 pnpm tauri:build --bundles appimage -v 产出 bbcom_1.2.1_amd64.AppImage
  • 日志含 $NO_STRIP environment variable detected, not stripping binaries
  • pre-commit / frontend tests / Rust tests / browser-mock E2E 通过

合并后

GitHub Actions 使用被 tag 提交里的 workflow。合并后需要把 annotated tag v1.2.1 移到新的 master 尖(与 v1.0.0 / #30 相同),才会重新跑 Release。

测试计划

  • GitHub Quality:Frontend correctness + Rust correctness + Required quality gate 全绿
  • 重打 v1.2.1 后 Release 的 Linux AppImage/deb 打包通过并产出 draft

linuxdeploy 自带 strip 无法处理 ELF RELR,且 Tauri 默认日志级别会丢掉
stderr。Release 工作流在 Linux 打包时设置 NO_STRIP 与
APPIMAGE_EXTRACT_AND_RUN,并打开 verbose,避免 AppImage 打包静默失败。
@AnlangA
AnlangA merged commit 3d38087 into master Sep 12, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant