| name: duplicate-issues |
|
|
| on: |
| issues: |
| types: [opened] |
| workflow_dispatch: |
| inputs: |
| issue_number: |
| description: Issue number to check manually |
| required: true |
| type: number |
|
|
| jobs: |
| check-duplicates: |
| runs-on: ubuntu-latest |
| permissions: |
| contents: read |
| issues: write |
| steps: |
| - name: Checkout repository |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd |
|
|
| - name: Set up Bun |
| uses: oven-sh/setup-bun@3d267786b128fe76c2f16a390aa2448b815359f3 |
|
|
| - name: Install opencode |
| run: curl -fsSL https://opencode.ai/install | bash |
|
|
| - name: Check for duplicate issues |
| env: |
| OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }} |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
| ISSUE_NUMBER: ${{ github.event.issue.number || inputs.issue_number }} |
| OPENCODE_PERMISSION: | |
| { |
| "bash": { |
| "*": "deny", |
| "gh issue*": "allow" |
| }, |
| "webfetch": "deny" |
| } |
| run: | |
| if [ -z "$ISSUE_NUMBER" ]; then |
| echo "issue_number is required" |
| exit 1 |
| fi |
| |
| opencode run -m ${{ vars.OPENCODE_MODEL }} "A new issue has been created:' |
| |
| Issue number: |
| $ISSUE_NUMBER |
| |
| Lookup this issue and search through existing issues (excluding #$ISSUE_NUMBER) in this repository to find any potential duplicates of this new issue. |
| Consider: |
| 1. Similar titles or descriptions |
| 2. Same error messages or symptoms |
| 3. Related functionality or components |
| 4. Similar feature requests |
| |
| If you find any potential duplicates, please comment on the new issue with: |
| - A brief explanation of why it might be a duplicate |
| - Links to the potentially duplicate issues |
| - A suggestion to check those issues first |
| |
| Use this format for the comment: |
| 'This issue might be a duplicate of existing issues. Please check: |
| - #[issue_number]: [brief description of similarity] |
| |
| Feel free to ignore if none of these address your specific case.' |
| |
| If no clear duplicates are found, do not comment." |
|
|