Releases: matharts/sync-labels-action
Releases · matharts/sync-labels-action
Release list
v1.5.0
仓库范围与离线校验
- 新增可选的
repositories.exclude策略;未配置时保持原有仓库选择行为。 - 仓库范围按固定顺序应用:全部仓库或
repositories.include,然后是repositories.exclude,最后是可选的repositoryinput。 - 在访问 GitHub 前拒绝重叠、重复、空或无效的仓库选择。
- 新增
validate_onlyAction input,无需 GitHub 凭据或网络访问即可校验标签和仓库策略文件。 - 新增
pnpm validate:config,复用 Action 使用的GovernanceConfig规则。 - 保持 v1.4 inputs、outputs、默认 dry-run 行为、删除安全、重试行为、部分失败计数和 Unicode 处理不变。
- 明确
changed在 dry-run 模式报告计划变更,在写入模式报告已完成的变更。 - 通过全组织排除 dry-run、无凭据离线校验、非法策略一致性及现有 workflow 兼容性验证候选版本。
- 将稳定错误分类、失败仓库输出、可归档计划文件、并发、缓存和批处理推迟到后续版本。
- 建议审核发布提交并固定其完整 SHA,而不是可移动版本标签。
验证:pnpm check、Node.js 24 CI、可复现 dist/index.js bundle 比对、Actionlint、CodeQL、全组织排除 dry-run、发布演练、发布后测试及发布后组织预览均通过。
v1.5.0-rc.1
仓库范围与离线校验候选版本
- 新增可选的
repositories.exclude策略用于生产演练;未配置时保持原有仓库选择行为。 - 仓库范围按固定顺序应用:全部仓库或
repositories.include,然后是repositories.exclude,最后是可选的repositoryinput。 - 在访问 GitHub 前拒绝重叠、重复、空或无效的仓库选择。
- 新增
validate_onlyAction input,无需 GitHub 凭据或网络访问即可校验标签和仓库策略文件。 - 新增
pnpm validate:config,复用 Action 使用的GovernanceConfig规则。 - 保持 v1.4 inputs、outputs、默认 dry-run 行为、删除安全、重试行为、部分失败计数和 Unicode 处理不变。
- 明确
changed在 dry-run 模式报告计划变更,在写入模式报告已完成的变更。 - 将稳定错误分类、失败仓库输出、可归档计划文件、并发、缓存和批处理推迟到后续版本。
- 建议审核候选提交并固定其完整 SHA,而不是可移动版本标签。
- 正式发布 v1.5.0 前必须成功完成仓库范围、离线校验和现有 workflow 兼容性演练。
验证:pnpm check、Node.js 24 CI、可复现 dist/index.js bundle 比对、Actionlint、CodeQL 及现有 workflow 全组织 dry-run均通过。
v1.4.0
Node.js 24 与删除安全
- 将 Action 运行时从 Ruby 迁移到 GitHub 原生 Node.js 24。
- 保持 v1.3 inputs、outputs、默认 dry-run 行为、配置格式和未配置时的删除语义。
- 在首次写入前规划每个目标仓库,并聚合不可变的
RunPlan。 - 新增
safety.deletions、safety.max_deletions_per_repository和safety.max_deletions_total。 - 删除规则触发时停止全部写入,同时不阻止 dry-run,以便继续审查完整计划。
- 读取请求保持可重试,写入请求不自动重试。
- 对 6 个合格仓库完成零删除预览后,采用 MathArts 生产基线
allow / 1 / 6。 - 保持 GitHub App 凭据遮蔽,并在每个任务结束后撤销临时 token。
- 将
repositories.exclude、离线validate_only、类型化错误和可归档计划输出推迟到后续版本。 - 建议审核发布提交并固定其完整 SHA,而不是可移动版本标签。
验证:pnpm check、Node.js 24 CI、可复现 dist/index.js bundle 比对、Actionlint、CodeQL、全组织 dry-run、单仓库写入及零差异复查均通过。
v1.4.0-rc.1
Node.js 24 与删除安全候选版本
- 将 Action 运行时从 Ruby 迁移到 GitHub 原生 Node.js 24,以进行生产演练。
- 保持 v1.3 inputs、outputs、默认 dry-run 行为、配置格式和未配置时的删除语义。
- 在首次写入前规划每个目标仓库,并聚合不可变的
RunPlan。 - 新增
safety.deletions、safety.max_deletions_per_repository和safety.max_deletions_total。 - 删除规则触发时停止全部写入,同时不阻止 dry-run,以便继续审查完整计划。
- 读取请求保持可重试,写入请求不自动重试。
- 将
repositories.exclude、离线validate_only、类型化错误和可归档计划输出推迟到后续版本。 - 建议审核候选提交并固定其完整 SHA,而不是可移动版本标签。
- 正式发布 v1.4.0 前必须成功完成 Node.js 24 写入演练。
验证:pnpm check、Node.js 24 CI、可复现 dist/index.js bundle 比对、Actionlint 及全组织 dry-run均通过。
v1.3.0
规划/执行同步
- 在首次修改仓库前生成并校验不可变的
SyncPlan。 - 将规划与执行拆分为
SyncPlanner和SyncExecutor,同时保持公开 Action 接口不变。 - 确定性的仓库规划失败会在任何标签写入前停止;执行阶段失败时保留已完成的计数。
- 支持已校验计划直接序列化为 JSON。
- 围绕快速开始、常见任务、同步行为、参考表格和故障排除重构 README。
验证:38 项测试、184 个断言、所有受支持 Ruby 版本、workflow 质量、预览同步、安全扫描及不可变引用校验均通过。
v1.2.0
结构化输出
- 提供
changed、repositories、created、updated、renamed、deleted、unchanged、preserved和failures输出。 - dry-run 模式报告计划变更,写入模式报告已完成的变更。
- 单个仓库中途失败时保留已完成的变更计数,并继续处理其余仓库。
- 集中处理运行时 input 解析,并在访问 GitHub 前拒绝不支持的
dry_run值。 - 保持 MathArts 生产自动化与全部合格组织仓库同步。
验证:33 项测试、159 个断言、所有受支持 Ruby 版本、workflow 质量、预览同步、安全扫描及不可变引用校验均通过。
v1.1.0
仓库范围
- 省略
repositories或repositories.include时,同步 token 可见的全部合格组织仓库。 - 设置非空
repositories.include列表时,继续使用显式允许列表。 - 使用
repositoryinput 将任一模式限定到单个仓库。 - 默认全仓库模式跳过 archived、disabled 和 fork 仓库。
- 显式的空
include列表会安全失败,而不会扩大范围。
MathArts 生产自动化使用默认全仓库模式,目前预览全部 6 个合格组织仓库。
验证:26 项测试、101 个断言、所有受支持 Ruby 版本、workflow 质量、预览同步、安全扫描及独立的 Standards/Spec 复核均通过。