Skip to content

fix(ci): store CLA signatures on an unprotected branch (the CLA gate was unpassable) - #14

Merged
hmanoor merged 1 commit into
mainfrom
fix/cla-signatures-branch
Jul 30, 2026
Merged

fix(ci): store CLA signatures on an unprotected branch (the CLA gate was unpassable)#14
hmanoor merged 1 commit into
mainfrom
fix/cla-signatures-branch

Conversation

@hmanoor

@hmanoor hmanoor commented Jul 30, 2026

Copy link
Copy Markdown
Owner

The bug

The CLA gate could not be passed by anyone, including the repo owner. Signing did nothing.

Root cause, from the workflow log:

Error occurred when creating the signed contributors file: Could not create file:
Changes must be made through a pull request. 4 of 4 required status checks are expected..
Make sure the branch where signatures are stored is NOT protected.
##[error]Committers of pull request 13 have to sign the CLA

contributor-assistant/github-action commits the signatures file directly to the branch given in its branch: input. That was set to main, which is branch-protected — so the write was rejected, the signature was never persisted, and the action then reported the contributor as unsigned. The bot's PR comment even flipped to "All contributors have signed the CLA ✅" while the check stayed red, because the comment and the persisted state are separate things.

Net effect: an outside contributor could sign, be told they'd signed, and still be blocked. For a project actively recruiting contributors that's about as bad as a CI bug gets.

The fix

Point branch: at a dedicated unprotected branch, cla-signatures (created, verified unprotected). Added a comment beside the setting explaining why it must never be main, since the failure mode is silent and the error only shows in the action log.

Verification

After merge, comment recheck on any open PR — the action should persist the signature to cla-signatures and the check should go green. I'll confirm on #13.

🤖 Generated with Claude Code

The action commits the signatures file directly, so branch protection on
main rejected it ("Changes must be made through a pull request") and the
action then reported the contributor as unsigned. The CLA gate was
unpassable for every outside contributor.
@github-actions

Copy link
Copy Markdown

Thank you for your contribution! Before we can merge it, please read our Contributor License Agreement and sign it by posting the following comment:


I have read the CLA Document and I hereby sign the CLA


You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot.

@hmanoor
hmanoor merged commit e32f852 into main Jul 30, 2026
4 of 5 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators Jul 30, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant