Closed
Conversation
✅ Deploy Preview for docs-kargo-io ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #6065 +/- ##
=======================================
Coverage 57.28% 57.28%
=======================================
Files 470 470
Lines 39659 39659
=======================================
Hits 22717 22717
Misses 15588 15588
Partials 1354 1354 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
thomastaylor312
approved these changes
Apr 11, 2026
Signed-off-by: Kent Rancourt <kent.rancourt@gmail.com>
5cb478b to
5d3c685
Compare
thomastaylor312
approved these changes
Apr 12, 2026
Member
Author
|
I've actually been toying with porting the policy enforcement and slash command scripts to a proper GitHub App today. I'm going to choose not to merge this yet because I end up wanting to skip straight to doing things that way instead. |
Member
Author
|
Closed in favor of #6077 |
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.
This introduces automated contribution governance to formalize and
streamline how issues and pull requests are triaged, reviewed, and
processed. The goal is to make contribution policies self-documenting,
consistently enforced, and low-overhead for maintainers.
GitHub Actions are notoriously hard to test. This has been tested exhaustively in a fork.
Issue Templates -- Converted to YAML Forms
Bug report and feature request templates have been converted from
markdown to GitHub YAML issue forms. YAML forms enforce required fields
at the GitHub UI level -- submitters cannot skip them.
bug_report.yml: Requires description, steps to reproduce, expectedbehavior, actual behavior, and Kargo version.
feature_request.yml: Requires proposed feature and motivation.Includes a prominent notice that feature requests are not guaranteed
to be implemented, and that work should not begin until all blocking
labels have been removed by a maintainer.
Blank issues are now disabled (
blank_issues_enabled: false). GitHubnatively exempts maintainers from this restriction.
PR Template
A new pull request template (
.github/PULL_REQUEST_TEMPLATE.md)establishes clear expectations for all PRs:
Closes #<number>documentation, and DCO sign-off
Automated PR Policy Check
A new workflow (
.github/workflows/pr-policy-check.yaml) runs on everyopened pull request and enforces the issue-first contribution model:
is labeled
policy/no-linked-issue, a comment explains the policy, andthe PR is closed.
PR is labeled
policy/blocked-issue, a comment identifies the specificblocking label(s), and the PR is closed.
Blocking labels:
kind/proposal,needs discussion,needs researchmaintainer only,area/securitysize/large,size/x-large,size/xx-largeMaintainers (org members) and bots are exempt from all automated checks.
Slash Commands
A new workflow (
.github/workflows/slash-commands.yaml) providesmaintainers with quick-response slash commands for common governance
actions. Commands are posted as issue or PR comments and trigger
automated responses. Behavior is context-aware -- issue commands and PR
commands are handled by separate jobs with tailored messages and actions.
Issue commands:
/discussneeds discussionlabel; comment that discussion is needed before work begins/duplicate #Nduplicate, comment, close/enterprise/maintainermaintainer onlylabel, comment/researchneeds researchlabel; comment that research is needed before work begins/unblockkind/proposal,needs discussion,needs research), comment/helpPR commands:
/discussneeds discussionlabel; comment that discussion is needed before merge/duplicate #Nduplicate, comment, close/enterprise/maintainer/premature/quality/researchneeds researchlabel; comment that research is needed before merge/unblock/unsolicited/helpOnly maintainers (org members) can trigger slash commands.
Contributor Guide
The contributor guide (
docs/docs/60-contributor-guide/index.md) hasbeen rewritten to clearly document:
contributions
New Labels Required
The following labels must be created before merging:
policy/no-linked-issue(yellow) -- Applied to PRs with no issue referencepolicy/blocked-issue(yellow) -- Applied to PRs whose linked issue has blocking labelsFuture Considerations
This implementation uses GitHub Actions, which is well-suited for
proving out the governance model and iterating on the specific policies
and messaging. If the results are positive but the response latency of
Actions (~5-15s cold start) proves to be a concern, the logic can be
ported to a GitHub App with minimal effort for near-instant webhook
response times.