Skip to content

ci: remove native macOS/Windows CI jobs and Darwin signature verification - #741

Open
sczheng189 wants to merge 1 commit into
DingTalk-Real-AI:mainfrom
sczheng189:ci/remove-macos-windows-ci
Open

ci: remove native macOS/Windows CI jobs and Darwin signature verification#741
sczheng189 wants to merge 1 commit into
DingTalk-Real-AI:mainfrom
sczheng189:ci/remove-macos-windows-ci

Conversation

@sczheng189

Copy link
Copy Markdown
Collaborator

需求与目标

移除 CI 中所有 macOS/Windows 相关的 runner 与检查,全部保障统一收敛到 Linux runner:

  • 降低 CI 成本与排队时间(macos/windows runner 最重);
  • 发布产物本身不变:goreleaser 仍构建 darwin/windows 二进制,rcodesign 签名仍在 Linux 上完成。

非目标:不改变发布产物矩阵、安装脚本、Homebrew/npm 回流。

实现摘要

ci.yml

  • 删除 test-darwintest-windowscoverage-darwincoverage-windowstest-cross-platform 五个 job;
  • 删除 lintplatform_sensitive 分类逻辑,简化 test/coverage 汇总 job(九个必需 context 名称不变)。

release.yml

  • 删除 verify-darwin-signatures job(macos-latest 上的 codesign --verify);
  • publish-releaserelease-delivery-gate 的 needs/条件/require_result 同步调整;rcodesign 签名步骤保留。

配套同步

  • scripts/release/verify-delivered-stable.shverify-release-workflow-delivery.sh:交付/恢复校验不再要求该 job;
  • test/scripts/ 三个测试文件的 workflow 契约断言同步更新,删除 TestReleaseWorkflowUsesAppleCodesignBeforePublication
  • 删除已无引用的 scripts/policy/run-platform-coverage-gate.sh 与 Makefile coverage-gate-platform 目标;
  • docs/ci-pr-gates.md 同步改写平台边界描述。

CHANGELOG

未添加条目:纯 CI/发布基础设施调整,无 CLI 用户可见行为变化。

配置与环境

macOS arm64(darwin 25.3.0),Go 见 go.mod,DWS_PACKAGE_VERSION=0.0.0-test

验证清单

ID 验收标准(可观察行为) 命令 期望结果 实测结果 状态
V1 workflow 语法与 job 依赖图合法 go run github.com/rhysd/actionlint/cmd/actionlint@v1.7.12 无输出,exit 0 无输出,exit 0 PASS
V2 workflow 契约测试与发布脚本测试通过 DWS_PACKAGE_VERSION=0.0.0-test go test -count=1 ./test/scripts/ ok ok(231s,旧基线全绿;rebase 到最新 main 后由本 PR CI 复验) PASS
V3 仓库无残留引用 git grep -iE 'verify-darwin-signatures|platform_sensitive|coverage-gate-platform|Verify Apple Developer ID' 仅 CHANGELOG 历史记录 仅 CHANGELOG 历史记录 PASS
V4 Go 格式 gofmt -l test/scripts/ 无输出 无输出 PASS
V5 真实 PR/发布流水线在无 mac/win job 下全绿 本 PR 的 CI + 下一次发版 九个必需 context 全绿;release 链路不再出现 darwin 验证 job 由本 PR CI 验证 NOT VERIFIED(依赖本 PR CI)

风险与回滚

  • 风险:macOS Keychain / Windows DPAPI 相关回归只能靠 Linux 单测(编译期约束不再有原生 runner 兜底);发布产物的 Darwin 签名不再有 Apple codesign 独立复核(rcodesign 签名仍在,且历史上从未在该 job 失败过)。
  • 回滚:单 commit revert 即可完整恢复原有 job 与门禁。

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