Skip to content

fix(ci): tolerate missing 'v' in release branch name, warn on near-miss - #189

Open
ranxianglei wants to merge 1 commit into
masterfrom
2026-08-21_release-check-typo-tolerant
Open

fix(ci): tolerate missing 'v' in release branch name, warn on near-miss#189
ranxianglei wants to merge 1 commit into
masterfrom
2026-08-21_release-check-typo-tolerant

Conversation

@ranxianglei

Copy link
Copy Markdown
Owner

背景

v0.1.44 发布事故(2026-08-21):release 分支命名为 2026-08-21_release-0.1.44(漏了 v),release.yml 的检查正则要求 release-v,判定非 release 合并 → 所有 publish 步骤被静默跳过,workflow 仍显示 success。master 停在 0.1.44,npm 停在 0.1.43,无人察觉。

改动(.github/workflows/release.yml 的 check 步骤)

  1. 正则 release-vrelease-(v)?[0-9]:同时接受 YYYY-MM-DD_release-vX.Y.Z(文档规范)和 YYYY-MM-DD_release-X.Y.Z(常见笔误变体)。
  2. 近失保护:分支名含 release 但不匹配版本模式时,输出 ::warning::(CI 日志醒目可见),提示改名重发——不再静默。

验证

  • YAML 解析通过
  • 正则模拟:release-v0.1.45 ✓ / release-0.1.44 ✓ / fix-something → not-release / release-notes-docs → not-release + warning

v0.1.44 was never published: its release branch was named
2026-08-21_release-0.1.44 (no 'v'), the check regex required
release-v, so every publish step was silently skipped while the
workflow reported success. Accept both variants, and emit a
::warning:: when a release-looking branch does not match.
@ranxianglei ranxianglei mentioned this pull request Aug 22, 2026
4 tasks
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