DCO and Licensing
Dynamo requires every commit to include a Developer Certificate of Origin (DCO) sign-off. The sign-off certifies that you have the right to submit the contribution under the project’s Apache 2.0 License.
Create a Signed-off Commit
Configure your Git identity with the name and email you intend to use:
Add the sign-off trailer with git commit -s:
The resulting commit message ends with:
Use your real name. The trailer’s name and email must match the commit author identity.
Verify the Latest Commit
Display the complete commit message:
Confirm that it contains the expected Signed-off-by line.
Verify Every Commit
Check all commits on your branch relative to upstream main:
Each listed commit must have a sign-off trailer.
Automatic Trusted CI for Fork Pull Requests
For a fork pull request that qualifies for automatic trusted-CI approval, GitHub must report every
commit in the pull request as Verified. A DCO sign-off from git commit -s does not add a
cryptographic signature. Configure GitHub-supported commit
signing
and use that configuration whenever you create, amend, or rebase a commit.
Open the pull request’s Commits tab and confirm that GitHub shows Verified for every commit.
If any commit is not verified, the automatic /ok to test comment is not posted. Signing commits
does not by itself qualify a pull request for automatic approval. When automatic approval is
unavailable, a maintainer can review the current head and comment /ok to test <sha> to start CI.
The repair commands below add DCO sign-offs. To add or preserve a cryptographic signature while
rewriting a commit, include --gpg-sign after configuring commit signing.
Repair the Latest DCO Sign-off
If only the latest commit is missing its sign-off, amend it:
Amending changes the commit SHA. Use --force-with-lease, not --force, when updating a published
branch.
Repair Multiple DCO Sign-offs
Start an interactive rebase that includes the unsigned commits:
Mark each unsigned commit as edit. For each stop, run:
After the rebase, verify every commit again, then update the remote branch:
For additional recovery options, see the repository’s DCO troubleshooting guide.
Licensing
By contributing, you agree that your contribution is licensed under the Apache 2.0 License. All participation is also governed by the Code of Conduct.