bug: contrib CLA workflow permanently locks PRs on close, breaking the cla check
还没有人认领这个 Issue。
评估
- 难度
- 2/5
- 预计耗时
- 1-3 小时
- 新手友好度
- 75/100
- Issue 类型
- 缺陷
- 描述清晰度
- 描述清楚
- 活跃度
- 冷清
- 技术栈
- github-actions
- 领域
- ci-cd
调研方向
从 .github/workflows/contrib.yaml 中的 cla 作业和事件触发器开始,然后将已关闭和重新打开的 pull request 的 workflow 行为与 contributor-assistant action 的设置进行比较。当关闭并重新打开 pull request 不再在 CLA 评论更新之前将其锁定,并且 cla 检查能够正常通过时,修复就完成了。
由索引模型根据 Issue 内容生成。
描述
Is there an existing issue for this?
- I have searched the existing issues
Current Behavior
The cla job in .github/workflows/contrib.yaml runs contributor-assistant/github-action with the default lock-pullrequest-aftermerge: true. The action locks the pull request on the closed event, regardless of whether the PR was merged or just closed.
Because contrib.yaml also triggers on reopened, closing and reopening a PR puts it into a state the contributor cannot escape:
closedfires. The action locks the PR. Job succeeds.reopenedfires. The action tries to create or update its CLA comment. The PR is now locked, so the write fails and the job errors out.
From that point on the cla check fails on every subsequent run, because the action always needs to write a comment and the lock is never lifted. The failure is unrelated to whether the CLA is actually signed. Only a repository admin can unlock, so the PR author cannot recover.
This also blocks the documented recheck escape hatch, since the lock prevents the contributor from commenting at all.
Relevant Log Output
# Run 30312572901, triggered by `closed` at 22:58:17Z, conclusion: success
CLA Assistant GitHub Action bot has started the process
Locking the Pull Request to safe guard the Pull Request CLA Signatures
successfully locked the pull request 27499
# Run 30312578189, triggered by `reopened` at 22:58:33Z, conclusion: failure
CLA Assistant GitHub Action bot has started the process
##[error]Could not update the JSON file: Error occured when creating or editing
the comments of the pull request: Error occured when updating the pull request
comment: Unable to create comment because issue is locked.
Expected Behavior
Closing and reopening a pull request should not permanently break the cla check.
A few options:
- Set
lock-pullrequest-aftermerge: false, since the job runs onclosedand cannot distinguish merged from closed. - Gate the
clajob so it does not run on theclosedaction. - Unlock the PR when the
reopenedaction fires.
Steps to Reproduce
- Open a pull request as an external contributor who has not yet signed the CLA.
- Sign the CLA. The signature is recorded in
coder/cla. - Close the pull request, then reopen it to force a re-run of the check.
- The
closedrun locks the PR. Thereopenedrun fails withUnable to create comment because issue is locked. - The
clacheck now fails permanently and the contributor cannot unlock or comment.
Environment
- Host OS: n/a (GitHub Actions, ubuntu-24.04)
- Coder version: n/a (repository CI)
Additional Context
The issue occurs consistently
This is currently affecting #27499. The CLA is signed and valid: the signature for Amadeus-22 (id 156959341) is recorded in coder/cla at v2022-09-04/signatures.json, and run 30312572901 confirms the check passed before the lock took effect. The only remaining failure is the locked-comment error above.
Could a maintainer unlock #27499? Once unlocked, a push to the branch should re-trigger contrib and let the cla check pass. I cannot comment on that PR to ask there, which is why I am opening this issue instead.
- 主要语言
- Go
- 星标
- 16.6k
- 派生
- 1.6k
- 平均合并
- 1 天 23 小时
- 30 天内合并 PR
- 543
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
coder/coder 的其他 Issue
-
bug: AI Gateway client filter lists "Unknown" twice when NULL and literal Unknown clients coexist 未关闭bug
难度 2/5 1-3 小时 新手友好度 90/100
-
feat(site): suppress the web terminal context menu when the application has enabled mouse tracking 未关闭
难度 2/5 1-3 小时 新手友好度 78/100
-
bug frontend
难度 2/5 1-3 小时 新手友好度 84/100
-
bug site
难度 2/5 1-3 小时 新手友好度 84/100
-
难度 2/5 1-3 小时 新手友好度 85/100
相似的 Issue
-
ai-generated
难度 2/5 1-3 小时 新手友好度 78/100
-
难度 2/5 1-3 小时 新手友好度 72/100
SiaFoundation/indexd#1116 ·
-
难度 2/5 1-3 小时 新手友好度 84/100
-
难度 2/5 1-3 小时 新手友好度 78/100
-
triage
难度 2/5 1-3 小时 新手友好度 82/100
wakatime/wakatime-cli#1585 ·