fix(ci): 修复 Linux AppImage linuxdeploy 导致的 release 失败 - #47
Merged
Merged
Conversation
linuxdeploy 自带 strip 无法处理 ELF RELR,且 Tauri 默认日志级别会丢掉 stderr。Release 工作流在 Linux 打包时设置 NO_STRIP 与 APPIMAGE_EXTRACT_AND_RUN,并打开 verbose,避免 AppImage 打包静默失败。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
问题
v1.2.1Release 在 Linux 打包失败,Windows NSIS 与 macOS DMG 已通过。失败点:Rust 已经编完。Tauri 默认日志级别会丢掉
linuxdeploystderr,所以 CI 只看到这句。同类失败常见于 linuxdeploy 自带strip处理不了带 ELF RELR(.relr.dyn)的系统库。失败 run:https://github.com/AnlangA/bbcom/actions/runs/34677882857
改动
Linux AppImage/deb 打包步骤增加:
NO_STRIP=true:跳过有问题的 stripAPPIMAGE_EXTRACT_AND_RUN=1:没有 FUSE 时也能跑 plugin AppImagetauri 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合并后
GitHub Actions 使用被 tag 提交里的 workflow。合并后需要把 annotated tag
v1.2.1移到新的 master 尖(与 v1.0.0 / #30 相同),才会重新跑 Release。测试计划
v1.2.1后 Release 的 Linux AppImage/deb 打包通过并产出 draft