Summary
git-tools run watch --branch <feature-branch> reports
status: no-workflow
CI workflow runs exist but none correlate to branch '<feature-branch>' after 120s
even though CI did run for the pushed commit. This makes the ship skill's "watch CI" step (step 5) ineffective on repos whose CI triggers on pull_request rather than on the branch push.
Root cause
run watch correlates runs by branch name. But for a repo whose CI runs on on: pull_request:, the resulting run carries an empty branch field (and a pull_request event), so a feature-branch-name match finds nothing. Any post-merge runs are on master (push event), which also don't match the feature branch.
Observed via run list for my pushed SHA 8061c52…:
| run id |
event |
branch |
| 1073 |
pull_request |
"" |
| 1074 |
push |
master |
| 1075 |
push |
master |
run watch --branch worktree-feature-306-… matched none of these → no-workflow, despite run 1073 being the PR gate for exactly that commit.
Impact
In the ship flow on such a repo, the watch step is a no-op; I had to fall back to polling run list filtered by head_sha to actually watch CI to completion.
Suggested fix
Correlate by head_sha of the current HEAD commit (in addition to / as a fallback for branch name). The pushed commit SHA is stable across pull_request and push events and across the feature→master merge, so it reliably identifies the relevant run(s) where the branch name does not.
Environment
- git-tools
2.0.10 (plugin cache)
- tea
0.14.1
- Platform: Gitea; CI model:
on: pull_request: branches: [master] with an auto-merge job
Summary
git-tools run watch --branch <feature-branch>reportseven though CI did run for the pushed commit. This makes the
shipskill's "watch CI" step (step 5) ineffective on repos whose CI triggers onpull_requestrather than on the branch push.Root cause
run watchcorrelates runs by branch name. But for a repo whose CI runs onon: pull_request:, the resulting run carries an emptybranchfield (and apull_requestevent), so a feature-branch-name match finds nothing. Any post-merge runs are onmaster(push event), which also don't match the feature branch.Observed via
run listfor my pushed SHA8061c52…:""run watch --branch worktree-feature-306-…matched none of these →no-workflow, despite run 1073 being the PR gate for exactly that commit.Impact
In the
shipflow on such a repo, the watch step is a no-op; I had to fall back to pollingrun listfiltered byhead_shato actually watch CI to completion.Suggested fix
Correlate by
head_shaof the current HEAD commit (in addition to / as a fallback for branch name). The pushed commit SHA is stable acrosspull_requestandpushevents and across the feature→master merge, so it reliably identifies the relevant run(s) where the branch name does not.Environment
2.0.10(plugin cache)0.14.1on: pull_request: branches: [master]with an auto-merge job