summaryrefslogtreecommitdiffhomepage
path: root/.github/workflows/duplicate-issues.yml
diff options
context:
space:
mode:
authorRyan Vogel <[email protected]>2026-02-18 17:20:23 -0500
committerGitHub <[email protected]>2026-02-18 17:20:23 -0500
commit639d1dd8fea6d77c648df4eabf8ea9d6973c27bb (patch)
tree5d68718cf3b2f9d51f0bcfa58905cb5cdd2a5d5d /.github/workflows/duplicate-issues.yml
parent7033b4d0a856982a326d48dd8d86f717e28ed379 (diff)
downloadopencode-639d1dd8fea6d77c648df4eabf8ea9d6973c27bb.tar.gz
opencode-639d1dd8fea6d77c648df4eabf8ea9d6973c27bb.zip
chore: add compliance checks for issues and PRs with recheck on edit (#14170)
Diffstat (limited to '.github/workflows/duplicate-issues.yml')
-rw-r--r--.github/workflows/duplicate-issues.yml64
1 files changed, 62 insertions, 2 deletions
diff --git a/.github/workflows/duplicate-issues.yml b/.github/workflows/duplicate-issues.yml
index 87e655fe4..6c1943fe7 100644
--- a/.github/workflows/duplicate-issues.yml
+++ b/.github/workflows/duplicate-issues.yml
@@ -2,10 +2,11 @@ name: duplicate-issues
on:
issues:
- types: [opened]
+ types: [opened, edited]
jobs:
check-duplicates:
+ if: github.event.action == 'opened'
runs-on: blacksmith-4vcpu-ubuntu-2404
permissions:
contents: read
@@ -34,7 +35,7 @@ jobs:
"webfetch": "deny"
}
run: |
- opencode run -m opencode/claude-haiku-4-5 "A new issue has been created:
+ opencode run -m opencode/claude-sonnet-4-6 "A new issue has been created:
Issue number: ${{ github.event.issue.number }}
@@ -115,3 +116,62 @@ jobs:
If you believe this was flagged incorrectly, please let a maintainer know.
Remember: post at most ONE comment combining all findings. If everything is fine, post nothing."
+
+ recheck-compliance:
+ if: github.event.action == 'edited' && contains(github.event.issue.labels.*.name, 'needs:compliance')
+ runs-on: blacksmith-4vcpu-ubuntu-2404
+ permissions:
+ contents: read
+ issues: write
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v4
+ with:
+ fetch-depth: 1
+
+ - uses: ./.github/actions/setup-bun
+
+ - name: Install opencode
+ run: curl -fsSL https://opencode.ai/install | bash
+
+ - name: Recheck compliance
+ env:
+ OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }}
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ OPENCODE_PERMISSION: |
+ {
+ "bash": {
+ "*": "deny",
+ "gh issue*": "allow"
+ },
+ "webfetch": "deny"
+ }
+ run: |
+ opencode run -m opencode/claude-sonnet-4-6 "Issue #${{ github.event.issue.number }} was previously flagged as non-compliant and has been edited.
+
+ Lookup this issue with gh issue view ${{ github.event.issue.number }}.
+
+ Re-check whether the issue now follows our contributing guidelines and issue templates.
+
+ This project has three issue templates that every issue MUST use one of:
+
+ 1. Bug Report - requires a Description field with real content
+ 2. Feature Request - requires a verification checkbox and description, title should start with [FEATURE]:
+ 3. Question - requires the Question field with real content
+
+ Additionally check:
+ - No AI-generated walls of text (long, AI-generated descriptions are not acceptable)
+ - The issue has real content, not just template placeholder text left unchanged
+ - Bug reports should include some context about how to reproduce
+ - Feature requests should explain the problem or need
+ - We want to push for having the user provide system description & information
+
+ Do NOT be nitpicky about optional fields. Only flag real problems like: no template used, required fields empty or placeholder text only, obviously AI-generated walls of text, or completely empty/nonsensical content.
+
+ If the issue is NOW compliant:
+ 1. Remove the needs:compliance label: gh issue edit ${{ github.event.issue.number }} --remove-label needs:compliance
+ 2. Find and delete the previous compliance comment (the one containing <!-- issue-compliance -->) using: gh api repos/${{ github.repository }}/issues/${{ github.event.issue.number }}/comments --jq '.[] | select(.body | contains(\"<!-- issue-compliance -->\")) | .id' then delete it with: gh api -X DELETE repos/${{ github.repository }}/issues/${{ github.event.issue.number }}/comments/{id}
+ 3. Post a short comment thanking them for updating the issue.
+
+ If the issue is STILL not compliant:
+ Post a comment explaining what still needs to be fixed. Keep the needs:compliance label."