Skip to content

fix: harden organization label synchronization - #2

Merged
lzm0x219 merged 14 commits into
mainfrom
agent/fix-label-governance-sync
Jul 10, 2026
Merged

fix: harden organization label synchronization#2
lzm0x219 merged 14 commits into
mainfrom
agent/fix-label-governance-sync

Conversation

@lzm0x219

Copy link
Copy Markdown
Member

变更摘要

修复组织级标签配置、Issue Forms 与标签同步自动化之间的不一致,并降低跨仓库标签同步的破坏风险。

主要修改

  • 将 Bug 和 Feature Issue Forms 改为正式标签 type: bugtype: feature
  • 将同步语义从“严格镜像全部标签”改为“只管理组织级受管标签子集”;
  • 保留 area:*package:*platform:* 及其他仓库自行维护的扩展标签;
  • 继续清理过期的组织保留命名空间标签和历史 alias;
  • Push 与定时任务只执行 Dry Run,实际写入必须手动触发并明确关闭 Dry Run;
  • 增加 Issue Form 标签一致性校验;
  • 增加同步器单元测试,覆盖扩展标签保留、旧标签迁移、过期组织标签清理和 Dry Run 无写入;
  • 修正 labels.yml 中对配置格式的说明,并在 README 中明确同步边界。

根因

此前同步器把所有未出现在 .github/labels.yml 中的标签都视为多余标签并删除,这与允许仓库维护项目级扩展标签的治理规则冲突。Issue Forms 同时仍引用历史 alias,可能导致新 Issue 无法自动获得正式类型标签。

影响范围

影响组织内采用统一标签同步的仓库。合并后,项目级扩展标签不再被同步器删除;组织保留标签仍由 .github/labels.yml 统一管理。

验证

本地已执行:

ruby .github/scripts/validate-issue-labels.rb
ruby .github/actions/sync-labels/test_sync_labels.rb
ruby -c .github/actions/sync-labels/sync-labels.rb
YAML 全量解析检查

结果:2 个测试、17 个断言全部通过,Ruby 语法和 YAML 解析正常。

审查重点

  • 组织级受管命名空间是否完整;
  • 项目扩展标签的保留边界是否符合治理预期;
  • 是否接受自动事件只预览、手动操作才真实同步的安全策略。

@lzm0x219
lzm0x219 marked this pull request as ready for review July 10, 2026 23:50
@lzm0x219
lzm0x219 merged commit ab94b52 into main Jul 10, 2026
4 checks passed
@lzm0x219
lzm0x219 deleted the agent/fix-label-governance-sync branch July 10, 2026 23:50
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