Files
opsx 4d582e62eb
CI / Backend (go vet + test) (push) Waiting to run
CI / Frontend (lint + build + test) (push) Waiting to run
fix(release): digest 校验改为轮询,避免 Docker Hub 传播延迟导致误判
现象:刚 push 完立刻查 tags API,latest 已是新 digest 而 v0.1 还是旧值,
脚本按"三个 tag 不一致 = 并发覆盖"直接 exit 1,把正常发布拦下来了。

根因:Docker Hub 的 /v2/repositories/<repo>/tags/<tag> 有秒级~十几秒的
传播延迟,单次查询不能作为判据。

修复:轮询最多 12 次、每次间隔 5 秒(共 60 秒),三者一致才继续;
超时仍不一致则 exit 1,并在报错里区分两种可能:
  - latest 与 v0.1 不同 → 疑似并发构建覆盖(提示检查 flock 是否被绕过)
  - 仍为 "?"            → 推送根本没成功或仓库不可达
本次实测:第 1 次轮询发现未同步,等待 5 秒后三者均为 1ce3d4166506 ✅

顺带:不可变 tag 之前出现 -dirty 后缀,是因为改完脚本没提交就发版;
本次先提交再发版,tag 恢复干净(2.0.0-20261031-<sha>)。
2026-10-31 18:12:46 +00:00
..