8.0
热点
AI SCORE
编程提效2026-08-18 04:28
GitHub Actions绿色不等于发布成功
dev.to · AI#CI/CD#GitHub Actions#DevOps
Editor brief · 编辑速览
CI流水线上传成功不等于包实际可安装——市场审核、队列、版本可见性均发生在上传之后。解决方案是在同job末尾调公共API验证实际版本号。
你的发布任务变绿了。这只能证明你把文件发出去了,不能证明有人能安装它。
我写过的每一个发布步骤,到上传那一步就结束了。API 接受了请求,退出码是 0,workflow 变绿了,然后我就去吃午饭了。
但市场可以接受上传,然后在审核时拒绝它、把它放进队列、或者把它列在一个没人看到的版本号下。这些都发生在你的 job 已经报告成功之后。
我们的包就这样躺了三周。被发现的原因是一个用户问为什么版本这么旧。
修复方法很简单——在同一个 job 结尾加一个请求,去问公共 API 实际能看到什么,如果和你上传的不一致就失败:
PUBLISHED=$(curl -sf "$REGISTRY_API/my-package" | jq -r .version)
[ "$PUBLISHED" = "$VERSION" ] || {
echo "uploaded $VERSION, world still sees $PUBLISHED"
exit 1
}
注意方向。你不是在问自己的流水线它是否成功了——它已经告诉过你了,而且它是错的。你在问一个陌生人。
长故事版——三周、两个市场、以及让 job 撒谎的那句话——在这里:Your GitHub Actions run is green. Nobody can install your VS Code extension.
我做了 cachly——AI 编程助手用的持久化记忆,基于 MCP。你的助手每天早上重新读你的代码库。其实它不用这样。
免费额度,托管在欧盟:cachly.dev

We're a place where coders share, stay up-to-date and grow their careers.