Repository navigation
fix(ci): Intel 无可用机器时显式跳过真机验证 - #11
Merged
Merged
Conversation
- 新增 probe-intel-runner:在 macos-15-intel 上读取 uname -m,把 Intel 可用性 作为 job 输出,并在步骤摘要里写明本次是继续还是 SKIPPED - Verify x64 DMG on Intel 改为 needs probe,并在拿不到 x86_64 时整job跳过, 显示为 skipped 而不是伪装成绿 - 保留 job 内的架构闸门:probe 与本 job 分配不一致时报错退出,拒绝在 arm64 上冒充 Intel 验证 - 原先该 job 首步 test "$(uname -m)" = "x86_64" 在 GitHub 把请求落到 arm64 机器时直接失败,导致与改动无关的红
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.
Summary
Verify x64 DMG on Intel的第一条命令断言 runner 架构。GitHub 现在会把macos-15-intel的请求落到 arm64 机器上,于是这条断言直接让整个 run 变红,与任何代码改动无关。这里把「有没有 Intel 机器」和「在 Intel 机器上验证」拆开:探测 job 判断可用性,验证 job 在拿不到 x86_64 时整job skipped,而不是伪装成通过;验证 job 内仍保留架构闸门,分配不一致时报错退出。
skipped只影响这个 job 的显示:DMG 的构建、签名、校验和与 Mach-O 架构检查仍在buildjob 里跑,两种架构都覆盖,不依赖 Intel 机器。Evidence
test "$(uname -m)" = "x86_64"退出;连续两次--failed重跑结果相同。7 小时前同一个 job 通过同一断言并打印Levil Notes 0.1.21-x64.dmg: OK,build-macos.yml自 10 月 27 日起未改动。js-yaml解析,15 个run块全部通过bash -n。本 PR 的 run 41547702868 实地跑通了探测路径:Detect Intel runner availability5 秒完成且未触发::notice,说明本次拿到了真正的 x86_64,因此验证 job 正常执行(而非跳过)。跳过分支由上述本地执行证明。Merge Danger
Door: two-way
revert 即恢复原先的单 job 结构,不涉及数据、发布物或 runner 配置变更。
Blast Radius: macOS CI 结论 +
release.yml的发布门控release.yml以workflow_call复用本工作流,且releasejobneeds: [windows, macos]。改动前,Intel 断言失败会让整条调用链变红、发布被挡住(哪怕失败原因只是 GitHub 没给 Intel 机器);改动后,容量不足只会让该 job 显示 skipped,发布照常进行,也就是发布可能在没有 Intel 真机验证的情况下出去。真实的 Intel 回归仍会失败并挡住发布:拿到 x86_64 时验证照旧执行,job 内的闸门也拒绝在 arm64 上冒充「已验证」。风险在于 Intel 容量长期不足时,跳过会常态化而不显眼。缓解:探测 job 在摘要里写明实际架构与「SKIPPED」,并给出
::notice,job 状态是 skipped 而非 success,因此不会被读成通过。