Repository navigation
docs: add Signed commits section to CONTRIBUTING #123
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -123,3 +123,20 @@ We follow [Conventional Commits](https://www.conventionalcommits.org/): | |
| [optional body] | ||
|
|
||
| [optional footer] | ||
|
|
||
| ## Signed commits | ||
|
|
||
| Every commit that reaches the default branch must be signed; a ruleset refuses | ||
| unsigned pushes. Estate policy: | ||
| [SIGNING-POLICY](https://github.com/hyperpolymath/standards/blob/main/docs/SIGNING-POLICY.adoc). | ||
|
|
||
| - **People and interactive agents** sign with an SSH key registered on GitHub | ||
| as a *signing* key (`gpg.format=ssh`, `user.signingkey=<key>.pub`, | ||
| `commit.gpgsign=true`). The committer email must be verified on that account. | ||
| - **Apps, bots and workflows** never `git push` local commits. They write | ||
| through the API (`createCommitOnBranch` or the estate `signed-push` action) | ||
| so that GitHub signs each commit. | ||
| - Merge PRs with **squash**. The ruleset checks every commit on the PR branch, | ||
| not just the result, so one unsigned commit blocks the merge. Re-create such a | ||
| branch with signed commits (`git cherry-pick -S`) and open a new PR. | ||
| Rebase-merge replays commits unsigned and is disabled. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win 🔎 Supported by static analysis🏁 Script executed: set -eu
printf '%s\n' '--- changed paths and relevant diff ---'
git diff --stat d76ecb7485f696f9aaa0e995265981e16dd75716 820b602a1c8b5f65329a9761e1c47ac269f79b6b -- .github/CONTRIBUTING.md CONTRIBUTING.adoc .github/settings.yml
git diff --unified=8 d76ecb7485f696f9aaa0e995265981e16dd75716 820b602a1c8b5f65329a9761e1c47ac269f79b6b -- .github/CONTRIBUTING.md CONTRIBUTING.adoc .github/settings.yml
printf '%s\n' '--- current settings ---'
cat -n .github/settings.yml
printf '%s\n' '--- current documentation excerpts ---'
sed -n '132,148p' .github/CONTRIBUTING.md
sed -n '20,32p' CONTRIBUTING.adoc
printf '%s\n' '--- local references to settings application and rebase merge ---'
rg -n -i --glob '!node_modules' --glob '!dist' 'allow_rebase_merge|settings\.yml|rebase.merge|rebase-merge|rebase merge' .github CONTRIBUTING.adoc README* 2>/dev/null || trueRepository: hyperpolymath/nextgen-typing Length of output: 10666 🤖 get_repo_knowledge executed:
Length of output: 36972 Disable rebase-merge in the repository settings.
Suggested fix- allow_rebase_merge: true
+ allow_rebase_merge: false📍 Affects 2 files
🤖 Prompt for AI Agents |
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
🔎 Supported by static analysis
🌐 Web query:
GitHub rulesets require signed commits repair unsigned commits existing pull request branch force push💡 Result:
🏁 Script executed:
Repository: hyperpolymath/nextgen-typing
Length of output: 2620
🏁 Script executed:
Repository: hyperpolymath/nextgen-typing
Length of output: 6237
🌐 Web query:
site:docs.github.com/en/enterprise-cloud@latest/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/available-rules-for-rulesets signed commits rewrite force push pull request💡 Result:
🏁 Script executed:
Repository: hyperpolymath/nextgen-typing
Length of output: 1881
Repair the existing pull request branch.
If a pull request branch contains unsigned commits, rewrite and sign those commits, then force-push the rewritten branch. The ruleset checks commits on the pull request branch, including squash-merge workflows. Opening a new pull request is not required.
Suggested documentation update
📝 Committable suggestion
🤖 Prompt for AI Agents