docs: add GitHub Rulesets merge method configuration#4
Merged
Conversation
- Change recommended merge method from rebase to merge commits - Add new section documenting GitHub Rulesets allowed_merge_methods - Document diagnosis and fix for 'Rebase is not an allowed merge method' warning - Add troubleshooting triggers for ruleset conflicts - Add alignment table for repository vs ruleset settings
3 tasks
CybotTM
added a commit
that referenced
this pull request
May 4, 2026
…in-repo locations GH-3 (SECURITY.md), GH-4 (CONTRIBUTING.md), and GH-5 (CODEOWNERS) check for project-local files. GitHub honours these files org-wide via the special `.github` repo (e.g. netresearch/.github), so many repos that appear "missing" these files actually have them satisfied at the org level. The assessment runner cannot cheaply verify org-wide files (it would have to call the GitHub API, which requires auth and is outside the command allowlist). Demoting these from `warning` to `info` better reflects the real situation: nice-to-have at the repo level, often satisfied elsewhere. The descriptions now mention the org-wide fallback explicitly. Also broaden each target with brace expansion for the documented in-repo locations: - SECURITY.md → {SECURITY.md, .github/SECURITY.md, docs/SECURITY.md} - CONTRIBUTING.md → {CONTRIBUTING.md, .github/CONTRIBUTING.md, docs/CONTRIBUTING.md} - CODEOWNERS → {.github/CODEOWNERS, CODEOWNERS, docs/CODEOWNERS} GitHub itself accepts CODEOWNERS in any of those locations.
2 tasks
CybotTM
added a commit
that referenced
this pull request
May 5, 2026
GH-3 (SECURITY.md), GH-4 (CONTRIBUTING.md), GH-7 (PR template) declare org_provides: paths so the runner falls back to `gh api repos/{owner}/.github/contents/<path>` when the local file is missing. Repos that opt into org-wide community-health files (the documented GitHub default) now stop being flagged. GH-7 also accepts both PULL_REQUEST_TEMPLATE.md and the lowercase pull_request_template.md (which is what netresearch/.github actually uses) — GitHub treats these case-insensitively. GH-5 (CODEOWNERS) intentionally stays local-only — GitHub's review routing only honours CODEOWNERS in the consuming repo, not the org's .github fallback. GH-8 / GH-9 (issue templates) declare org_provides for completeness but most orgs don't ship default issue templates; for those repos this still surfaces as a finding. When an org does provide them at {owner}/.github/.github/ISSUE_TEMPLATE/<name>, the checkpoint passes. Signed-off-by: Sebastian Mendel <github@sebastianmendel.de>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
allowed_merge_methodssettingProblem
When a GitHub repository has:
allow_rebase_merge: falseallowed_merge_methods: ["merge", "rebase"]GitHub shows a confusing warning on PRs: "Rebase is not an allowed merge method in this repository"
This happens because the Ruleset's
pull_requestrule has its ownallowed_merge_methodsparameter that can conflict with repository settings.Solution
Document:
gh apiTest plan