Skip to content

emrg: build-release 二十三次修复 — Linux 收集 AppImage 到 artifacts(rant #13 Step 5) - #391

Merged
argszero merged 1 commit into
masterfrom
build-release-fixes-23
Aug 4, 2026
Merged

emrg: build-release 二十三次修复 — Linux 收集 AppImage 到 artifacts(rant #13 Step 5)#391
argszero merged 1 commit into
masterfrom
build-release-fixes-23

Conversation

@argszero

@argszero argszero commented Aug 4, 2026

Copy link
Copy Markdown
Owner

背景

第 23 次实跑(37732da)全绿:4 平台 build + release job 全部 success,Release v0.2.0 已创建。

但核对 rant #13 验收项 Step 5 —— Release 资产:

EMRG-0.2.0-linux-aarch64.tar.gz   ← 应为 .AppImage
EMRG-0.2.0-linux-x86_64.tar.gz    ← 应为 .AppImage
EMRG-0.2.0-macos-arm64.pkg   ✓
EMRG-0.2.0-windows-x64.exe   ✓

Linux 缺 AppImage(验收要求 linux-x86_64.AppImage / linux-aarch64.AppImage)。

根因

make-installer.sh 的 Linux 分支只生成 tar.gz(注释称 "AppImage built by electron-builder in CI"),但 electron-builder 的 AppImage 输出在 emrg/gui/dist/*.AppImage从未复制到 dist/artifacts/ → workflow 的 upload-artifact 路径 dist/artifacts/*.AppImage 匹配为空 → Release 只有 tar.gz。

修复

Linux 分支增加 AppImage 收集:

APPIMAGE="$(ls "$ROOT"/emrg/gui/dist/*.AppImage 2>/dev/null | head -1 || true)"
if [ -n "$APPIMAGE" ]; then
  cp "$APPIMAGE" "$DIST/artifacts/EMRG-$VERSION-linux-$(uname -m).AppImage"
fi

命名 EMRG-<ver>-linux-<uname -m>.AppImage:x86_64 / aarch64,与验收命名一致。未找到时警告但继续(tar.gz 兜底,不 fail build)。

验证

  • bash -n packaging/make-installer.sh OK
  • uv run pytest tests/ -q = 464 passed
  • import check + emrg --help OK

合并后重打 tag → 第 24 次实跑预期:Release 含 6 个资产(4 平台 + 2 AppImage)→ 验收项全部满足 → rant #13 completed。

…tep 5)

第 23 次实跑(37732da):4 平台 build + release job 全绿,但 Release v0.2.0
资产只有 4 个:macos-arm64.pkg / windows-x64.exe / linux-x86_64.tar.gz /
linux-aarch64.tar.gz —— Linux 缺 AppImage(rant #13 验收项 Step 5 要求
linux-x86_64.AppImage / linux-aarch64.AppImage)。

根因:make-installer.sh Linux 分支只生成 tar.gz,electron-builder 的
AppImage(emrg/gui/dist/*.AppImage)从未被收集到 dist/artifacts/ →
upload-artifact 的 dist/artifacts/*.AppImage 为空 → release 只有 tar.gz。

修复:Linux 分支收集 emrg/gui/dist/*.AppImage → 复制为
EMRG-<ver>-linux-<uname -m>.AppImage(x86_64/aarch64 与验收命名一致)。
未找到时警告但继续(tar.gz 兜底,不 fail build)。

@argszero argszero left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ LGTM — cycle 20260805-0100

修复精准:Run 23 全绿后核对 rant #13 验收项发现 Release 缺 Linux AppImage。
根因是 make-installer.sh Linux 分支未收集 electron-builder 产物(emrg/gui/dist/*.AppImage)。
收集 + 重命名(EMRG-$VERSION-linux-$(uname -m).AppImage → x86_64/aarch64)正确;
未找到时警告不 fail(tar.gz 兜底)合理。bash -n OK;pytest 464 passed。

@argszero argszero left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ LGTM — cycle 20260805-0101

第二次复核:diff 稳定(R116 AppImage 收集 +10 行)。命名
EMRG-$VERSION-linux-$(uname -m).AppImage 与验收(linux-x86_64/l-aarch64.AppImage)一致;
未找到时警告不 fail(tar.gz 兜底)合理。bash -n OK;pytest 464 passed(cycle 0100 验证)。
2 个连续 LGTM(0100/0101),无 ❌。

@argszero argszero left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ LGTM — cycle 20260805-0102

第三次复核:diff 稳定(R116 AppImage 收集,+11/-1)。
3 个连续 LGTM(0100/0101/0102),中间无 ❌,满足合并条件。

@argszero
argszero merged commit d389235 into master Aug 4, 2026
1 check passed
argszero added a commit that referenced this pull request Aug 4, 2026
…392)

R116(PR #391)后 Linux 分支同时产出 tar.gz + AppImage,但注释与 echo
仍停留在"AppImage built by electron-builder in CI"的旧描述——日志与
文档与实际行为不一致。修正为反映收集动作(collected R116),方便
CI 排障时快速确认 AppImage 已被脚本收集到 artifacts。
@argszero
argszero deleted the build-release-fixes-23 branch August 5, 2026 06:18
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