EasyCLA
You need to agree to the GraphQL Contributor Licensing Agreement in order to contribute to GraphQL. Normally this is a simple process of signing a form and clicking a few buttons - the EasyCLA bot guides you through the process.
Something wrong
Except... Sometimes it isn't so easy. EasyCLA is very suspicious, and if you do something a bit shifty... like using the wrong email address in your commits (either as author or committer) then it might think you're an imposter and deny your access.
Kevin had issues with EasyCLA and shared the steps he used for resolution (lightly edited):
-
(Believed optional) Fetch the latest code from the repository, and rebase your changes on top
git fetch upstream
git fetch origin
git rebase upstream/main
## resolve conflicts, then... ##
git rebase --continue -
View the author and committer of the last 10 commits
git log -10 --format="%H%n Author: %an <%ae>%n Committer: %cn <%ce>%n" -
Optional: fix your
gitconfiguration (see below) -
Update the author of the last commit to match what you told EasyCLA (if you have multiple commits you'll need to do this for each, consider using
git rebase -i upstream/main)# If you fixed your git config in step 3:
git commit --amend --reset-author --no-edit
# Otherwise, explicitly specify the author:
git commit --amend --author="Your Name <[email protected]>" --no-edit -
Entirely optional: sign the commit (see below)
-
Verify author email of the last 10 commits
git log -10 --format="%H%n Author: %an <%ae>%n Committer: %cn <%ce>%n" -
Push the final results - updates PR and passes checks
git push --force-with-lease origin branch_name_here -
Click the link in the EasyCLA comment. If not signing as an individual, find your employer and click through until it said "you've accepted the CLA" or something like that.
-
If the automation didn't update, force push a whitespace change to trigger it again.
-
Hopefully everything green!
Fix git configuration
- Run
git config user.nameto see your current configured username - Run
git config user.emailto see your current configured email - If they don't fit what EasyCLA is expecting and you want to change them
globally:
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
Bonus: getting the green tick on your commits
This is entirely optional, but if you want the "Verified" badge next to your commits, Kevin shares:
-
Update github config to use your ssh public key as a signing key
- open https://github.com/settings/keys
- choose
new SSH key - add existing key from
~/.ssh/id_ed25519.pub - select "signing key" as the "key type"
-
Update allowed signers locally so git log shows signatures are valid
mkdir -p ~/.config/git
echo "[email protected] $(cat ~/.ssh/id_ed25519.pub)" > ~/.config/git/allowed_signers
git config --global gpg.ssh.allowedSignersFile ~/.config/git/allowed_signers -
Sign the commit
git commit --amend --no-edit --reset-author -S -
Verify email and signature of the last commit
git log -1 --show-signature