fix(ci): stop the CLA gate silently dropping valid signatures - #297
Merged
Conversation
A contributor who signs with any trailing punctuation is never recorded. The job's `if` compared the comment body with `==`, so "…I hereby sign the CLA." skipped the job outright — the action never ran, the signatures file was never written, and the stale failing check blocked the PR permanently with no feedback. Setting `custom-pr-sign-comment` repeats the trap inside the action, which swaps its tolerant regex for a strict `===`. Match with `contains` and drop the custom phrase input so the action's own forgiving matcher applies; guard against the bot's comment, which quotes the phrase. Hit on #296. Claude-Session: https://claude.ai/code/session_0131uzfwtjgE8rjkoFToQhuK
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The bug
@francoluxor signed the CLA on #296, two minutes after the bot asked:
That trailing period cost them the signature. The workflow run that fired on the comment (
30650537003) came backskipped—signatures/v1/cla.jsonstill lists onlymadarco, and the stale failing check from the originalpull_request_targetrun kept the PR blocked. #296 needed an--adminmerge.There are two exact-match traps, stacked:
ifcomparedgithub.event.comment.body == '…sign the CLA'. Any punctuation, greeting, or trailing whitespace skips the job — so the action never even starts.custom-pr-sign-commentrepeats it one layer deeper. Incontributor-assistant/github-action@v2.6.1, setting that input switchesisCommentSignedByUserfrom a tolerant regex to a strict compare:Relaxing only the
ifwould have let the job run and still fail.The fix
containsinstead of==on the jobif.custom-pr-sign-commentso the action's own forgiving regex applies.getPrSignComment()falls back to the byte-identical default phrase, so nothing user-visible changes.containswould otherwise match. (isCommentSignedByUseralready refuses to creditgithub-actions[bot], so this only saves a wasted run.)Failure mode this removes: a contributor signs, sees nothing happen, and has no way to tell whether they got the wording wrong or the check is just slow.
https://claude.ai/code/session_0131uzfwtjgE8rjkoFToQhuK
Note
Low Risk
CI-only CLA workflow tuning; no application runtime, auth, or data-path changes.
Overview
Fixes CLA signatures being ignored when contributors don’t match the sign phrase exactly (e.g. a trailing period), which left the job skipped, never updated
signatures/v1/cla.json, and blocked merges with no useful feedback.The
issue_commentjobifnow usescontains(...)on the sign phrase instead of==, and ignores comments fromgithub-actions[bot]so the bot’s quoted phrase doesn’t trigger a run.custom-pr-sign-commentis removed socontributor-assistant/github-actionkeeps its default regex matcher instead of strict string equality on the trimmed body.Reviewed by Cursor Bugbot for commit c726148. Configure here.