You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Tag触发GitHub Action时Cobertura报SHA无提交错误排查

GitHub Action Tag触发时Cobertura覆盖率报错的原因分析
  • release.sh生成的commit未同步到GitHub
    你的release.sh脚本在本地生成了两个commit,但报错的那个SHA只保存在本地仓库,没有推送到GitHub服务器。Tag触发的Action是基于GitHub上的仓库状态运行的,自然找不到这个仅存在本地的commit SHA。而分支推送触发时,你肯定是先把所有本地commit推送到远程分支再触发工作流,所以Action能正常找到对应的SHA。

  • Tag基于本地未推送的commit创建
    如果release.sh的逻辑是先在本地创建commit,直接基于这个未推送的commit打Tag,之后只推送了Tag却没推送对应的commit,GitHub仓库里就没有这个commit的记录。Action运行时会尝试关联Tag对应的commit SHA,但这个SHA不在GitHub的提交历史中,就会抛出找不到的错误。

  • Cobertura-action的上下文依赖限制
    分支推送触发时,Action的GITHUB_SHA是远程分支最新的已推送commit SHA;而Tag触发时,如果Tag关联的是本地未推送commit,Action拿到的SHA就是那个不存在于GitHub的ID。Cobertura-action需要在GitHub仓库中找到对应的commit来绑定覆盖率报告,找不到就会触发报错。

内容的提问来源于stack exchange,提问作者amresh sharma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 18:22:04