InnerSourceCommons / InnerSourceCommons/InnerSourcePatterns
Unexpected failure in GitHub Action run
还没有人认领这个 Issue。
- 主要语言
- HTML
- 星标
- 853
- 派生
- 206
- 平均合并
- 1 天 23 小时
- 30 天内合并 PR
- 2
描述
In a recent pull request (https://github.com/InnerSourceCommons/InnerSourcePatterns/pull/579), one of our GitHub Action (GHA) workflow runs failed.
Overview of failed GHAs:
Now when looking at the details of that workflow run, I noticed something interesting:
- when you click on "workflow file", it takes you to the
book.ymlfile from this branch/PR (which comes from a fork) - however the file that really got executed is actually the one on the
mainbranch of the upstream. I am so sure about this as the main branch contains the config for a matrix build for this GHA, while the branch from the PR does not have that matrix build yet)
So at the very least I am starting to wonder how GHAs really work. Seems like I might have some misunderstandings here.
My questions are:
- which GHAs are executed? the ones on the
mainbranch, or the ones on the PR branch, or both? mainand PR contain different versions of the same GHA. what happens in that case?
And lastly:
Why does this GHA run fail at all?
It seems like it is looking for a git ref hive-mind-pattern-1 and cannot find it? Possibly because that ref only exists on the fork but not on the upstream?
Do we have to configure the actions/checkout differently, so that it can find that git ref?
Right now we use ref: ${{ github.head_ref }}, which is defined as:
The head_ref or source branch of the pull request in a workflow run. This property is only available when the event that triggers a workflow run is either pull_request or pull_request_target.
I am suspecting that we are checking out the upstream repo InnerSourceCommons/InnerSourcePatterns but then trying to point to a ref that does not exist on that upsream.
Just not sure how one would configure this correctly?
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
从 main 上的 .github/workflows/book.yml 以及 pull request #579 中的版本开始,然后检查 workflow run 6003953262 和使用 github.head_ref 的 actions/checkout 步骤。比较事件上下文、已检出的仓库和可用的 refs,以解释失败原因。完成标准是记录所使用的 workflow 版本和 ref,并确定使 PR workflow 成功运行所需的配置。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- git, github-actions
- 领域
- ci-cd, devops
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100