Repository navigation
Fix an issue where the latest action failed to produce an .msix package. - #18
Merged
Merged
Conversation
v1.0.2 的 Release 少一个 MSIX:makeappx 因为 AppxManifest 的 Publisher 不是合法 DN 而失败(C00CE169),但 PowerShell 不会因原生进程的退出码中断, 失败被静默跳过,job 仍然绿,最终只发布了 3 个安装包。 - build.yml: Publisher 改为从 PFX 读取证书 Subject('CN=..., OU=..., C=CN' 的规范形式);openssl 的 RFC2253 输出逗号后没有空格,MakeAppx 会拒绝。 PFX 读取失败时回退到 openssl 输出并补上空格。 - build.yml: 客户端构建与打包步骤显式检查 npm/gulp/7z 的 $LASTEXITCODE; 上传前断言 exe/zip/msi/msix 四个文件都存在且非空。 - gulpfile.vscode.win32.ts: light.exe 把 ICE 警告编码进退出码(如 204), 改成「产物存在即成功」,避免把警告当成失败,也便于上层严格检查退出码。 - release.yml: 创建 Release 前核对完整产物清单,缺一个就中断。 Assisted-by: DeepSeek Harness:DeepSeek-V41-flash
MSI/MSIX 原先和 exe/zip 在同一个 Windows job 里串行执行,安装包出问题时 必须重跑近 40 分钟的整条构建。现在拆成 build + installers 两个 job: - build 只产出客户端、exe、zip,并上传 release-win32-x64; - installers 复用该工件里的 zip 还原已签名的客户端,只打 MSI/MSIX 并签名, 上传 release-win32-installers-x64(同样是 release-* 前缀,发布流程无需改动); - installers 只需要 node_modules 来跑 gulp,所以先复用仓库已有的 node_modules-windows 缓存(pr-node-modules 在 main 上预热),命中时直接解包, 省掉约 11 分钟的 npm ci;只有未命中时才 npm ci 并把结果存回缓存; - 签名证书准备抽成 .github/actions/prepare-windows-signing,两个 job 共用同一份 PFX 与 Publisher 逻辑,避免修复被复制成两份。 Assisted-by: Tare CN:Auto
vscode-win32-x64-min 里的 patchWin32Dependencies 会用 signtool.exe 剥掉依赖库上 失效的 Authenticode 签名,而 GitHub 的 Windows 镜像不保证 Windows SDK 的 bin 在 PATH 中,于是 spawn signtool.exe ENOENT、整条客户端构建失败。 以前这个失败被下一条 npm 命令(inno-updater)的退出码掩盖,步骤仍然显示成功; 上一个提交加上 $LASTEXITCODE 检查后才暴露出来。 - build.yml: 客户端构建前把最新版本 SDK 的 x64 目录写进 GITHUB_ENV 的 PATH; 找不到 signtool 时直接给出明确错误。 Assisted-by: Tare CN:Auto
- installers job 在存在签名密钥时,先把生成的 MSIX 复制到 artifacts 之外, MSI/MSIX 签名完成后再以 BlockIDE-win32-x64-<version>-unsigned.msix 放回 artifacts,避免未签名的那份被 signtool 就地改写; - MSI 保持只发布签名版本; - release.yml 的产物校验补上未签名 MSIX,缺了直接失败。 Assisted-by: Tare CN:Auto
copilot 扩展同时携带各平台的原生模块(例如 clipboard.darwin-x64.node),patchWin32Dependencies 会对所有 **/*.node 调 rcedit,遇到 Mach-O 等非 Windows 二进制就失败: rcedit.exe failed with exit code 1. Unable to load file: "...clipboard.darwin-x64.node" 现在先读文件头两个字节,不是 MZ(PE)就跳过并打印日志,signtool / rcedit 只作用于真正的 Windows 二进制。 Assisted-by: Tare CN:Auto
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.
No description provided.