You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
feat: option to signoff commits done by python-semantic-release #1441
Add support for automatically including a Signed-off-by line in all Git commits created by python-semantic-release.
This enables release commits (version bumps, changelog commits, etc.) to comply with Developer Certificate of Origin (DCO) requirements by appending the standard signoff trailer generated by git commit --signoff.
Use cases
Projects enforcing the DCO (Developer Certificate of Origin).
Teams requiring all commits — including automated release commits — to include a Signed-off-by: trailer.
CI/CD pipelines that validate commits using DCO bots or tools like dco-check or git-validate.
Ensuring semantic-release–generated commits do not violate merge policies requiring signoff.
Possible implementation
Add a configuration option, e.g.:
git_signoff: bool
When enabled, semantic-release should behave as if git commit --signoff was used for all generated commits.
Implementation ideas:
Extend the GitPython commit call to append the signoff trailer.
Or use the Git CLI directly to create commits with --signoff when the option is enabled.
or add a placeholder {commit_author} to the commit message(configured commit_message) so that users add the siging line manually
The signoff line should follow the standard format:
Signed-off-by: <author name> <author email>
using py-semantic release's configured commit_author
Ensure compatibility with CI environments where Git identity must be set explicitly.
Alternative solutions
Manually amending commits after semantic-release runs, which breaks automation and reproducibility.
Wrapping semantic-release in a script that adds signoff afterward, which is fragile and may interfere with tagging or changelog generation.
Disabling DCO checks for automated commits, which is often not acceptable for compliance or governance reasons.
Adding the signoff line directly in the configured commit_message.
This only works when commit_author is statically configured.
It fails when the author is overridden via CLI flags or environment variables, because the signoff line must match the actual commit author to satisfy DCO validation. Therefore, this approach is unreliable and cannot guarantee compliance.
It has been 90 days since the last update on this confirmed issue. @python-semantic-release/team can you provide an update on the status of this issue?
@jkowalleck, when an issue is labeled as confirmed, it will not be closed. The bot just helps trigger identification of issues that have been sitting for a while without any update from the maintainers (hence the wording of the message).
No update as of yet, I've been quite busy with other things.
You can find more information about this release on the GitHub Releases page.
If your feature is not work as desired, please reply here and we will re-open the issue. If you have a new desired outcome, please open a new issue and reference this issue there.
Activity
jkowalleck commentedon Jun 8, 2026
@codejedi365 thanks for triaging the issue.
I am willing to work on the feature.
Would you accept a pull-request?
github-actions commentedon Sep 6, 2026
It has been 90 days since the last update on this confirmed issue. @python-semantic-release/team can you provide an update on the status of this issue?
jkowalleck commentedon Sep 7, 2026
still relevant, still open
codejedi365 commentedon Sep 7, 2026
@jkowalleck, when an issue is labeled as confirmed, it will not be closed. The bot just helps trigger identification of issues that have been sitting for a while without any update from the maintainers (hence the wording of the message).
No update as of yet, I've been quite busy with other things.
feat(cmd-version): add optional `git --signoff` to version commits
feat(cmd-version): add optional `git --signoff` to version commits
feat(cmd-version): add optional `git --signoff` to version commits
feat(cmd-version): add optional `git --signoff` to version commits (#…
codejedi365 commentedon Sep 22, 2026
🎉 This issue has been implemented in v10.7.0 🎉
You can find more information about this release on the GitHub Releases page.
If your feature is not work as desired, please reply here and we will re-open the issue. If you have a new desired outcome, please open a new issue and reference this issue there.