Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The Developer Certificate of Origin (DCO) checks

As per section

...

12.a of the Hyperledger Charter all code submitted to the Hyperledger Foundation needs to have a Developer Certificate of Origin (DCO) sign-off.

This certifies that you are able to submit your contribution to our repository under the license of the repository, and for the contribution to be redistributed under that same license.

You can "sign" this certificate by including a line in the git commit of "Signed-off-by: Legal Name

...

<email-

...

address>", using the email address associated with your GitHub account.

How to work with DCO

When Committing

...

  1. Set your legal name in the git configuration:
    git config user.name "Legal Name" 
  2. Set your email in the git configuration:
    git config user.email "email@address" 
  3. Add the -s  or --signoff  to all git commit  invocations.
    1. Add a git alias:
      git config --global alias.c 'commit --signoff'
      and then run "git c" instead of "git commit"
    2. In IntelliJ

...

On Circle CI you will see:

On Jenkins in In the full Console Output you will see :

Image Removed

DCO is checked on ALL branches:

Checking commits in branch origin/main for commits missing DCO...
Checking commits in branch origin/merge for commits missing DCO...
11b5f95dd5ef51af398f8b343b266debadd6f0b9 is missing Signed-off-by line.
Checking commits in branch origin/pull/2497 for commits missing DCO...
Checking commits in branch origin/release-21.10.x for commits missing DCO...
Checking commits in branch origin/release-22.1.0 for commits missing DCO...

Exited with code exit status 1

If the commit missing the signoff is on main branch, you will need to contact a Besu Maintainer Admin (main rebase required).

If the commit missing the signoff is on a non-main branch (eg merge in the example above), and you are a Besu maintainer, you should be able to force-push to that branch (eg rollback the most recent commit). If this is only from CI and not from DCO Bot, then please contact a Maintainer, as it probably means that the master branch has a commit that does not follow DCO which will necessitate a master rebase.


...

Feel free to check out this tutorial for more help.


As per section 1312.a of the Hyperledger Charter all code submitted to the Hyperledger Foundation needs to have a Developer Certificate of Origin (DCO) sign-off.

The sign off needs to be using your legal name, not a pseudonym. Git has a built-in mechanism to allow this with the -s or --signoff argument to git commit command, providing your user.name and user.email have been setup correctly.

If you have any questions, you can reach us on  Besu chat.Discord