From 71e560295e97be0c5ab533fa50ae67b4da9c26c8 Mon Sep 17 00:00:00 2001 From: Evan Hu Date: Sun, 6 Sep 2026 18:11:37 +0900 Subject: [PATCH] =?UTF-8?q?chore(governance):=20=E7=BB=99=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E5=85=B3=E9=94=AE=E8=B7=AF=E5=BE=84=E5=8A=A0=20CODEOW?= =?UTF-8?q?NERS?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 合并到 main 就等于发版:release-please 把每一次 fix:/feat: 合并变成已构建、已发布的安装包,中间没有任何人工节点。所以决定「发出去的是什么」的那些路径需要第二双眼睛,即使日常代码改动不需要。 覆盖四类:发布流水线本身与 CI 信任的一切(.github/、scripts/);落到用户磁盘上的东西(installer/);决定发出去的是哪个引擎、哪份词库、哪个版本(product-lock.json、version.txt、.gitmodules、vendor/);以及用户据以判断是否信任这个软件的声明(PRIVACY.md、SECURITY.md、LICENSE、THIRD_PARTY_NOTICES.txt)。 这个文件只有在分支 ruleset 打开 require_code_owner_review 之后才会真正生效,那一半在仓库外。放在这里的是仓库内的一半。 --- .github/CODEOWNERS | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 .github/CODEOWNERS diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 00000000..10c6c30e --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,26 @@ +# Merging to main publishes a release: release-please turns every fix:/feat: merge into a built, +# signed and published installer with no human step in between. So the paths that decide *what* gets +# published need a second pair of eyes even though ordinary code changes do not. +# +# See GOVERNANCE.md in the organisation .github repository for the release-authorization section +# these paths come from. This file only takes effect once the branch ruleset requires code owner +# review; adding it here is the half that lives in the repository. + +# The release pipeline itself, and everything CI trusts. +/.github/ @metasequoiaime/maintainers + +# What ends up on the user's disk, and how it is installed and registered. +/installer/ @metasequoiaime/maintainers +/scripts/ @metasequoiaime/maintainers + +# Which engine and which dictionary release this product ships. +/product-lock.json @metasequoiaime/maintainers +/version.txt @metasequoiaime/maintainers +/.gitmodules @metasequoiaime/maintainers +/vendor/ @metasequoiaime/maintainers + +# Statements users rely on. Changing what these promise is not a routine edit. +/PRIVACY.md @metasequoiaime/maintainers +/SECURITY.md @metasequoiaime/maintainers +/LICENSE @metasequoiaime/maintainers +/THIRD_PARTY_NOTICES.txt @metasequoiaime/maintainers