diff --git a/.github/workflows/check_duplicate_issues.yml b/.github/workflows/check_duplicate_issues.yml index b2a298bfcdc9..9477dd2f8e25 100644 --- a/.github/workflows/check_duplicate_issues.yml +++ b/.github/workflows/check_duplicate_issues.yml @@ -2,47 +2,28 @@ name: Check Duplicate Issues on: issues: - types: [opened] + types: [opened, edited] jobs: - check-duplicates: - if: github.event.action == 'opened' + check-duplicate: runs-on: ubuntu-latest permissions: - contents: read issues: write + contents: read steps: - - name: Install Claude Code - run: npm install -g @anthropic-ai/claude-code - - - name: Check duplicates - env: - ANTHROPIC_API_KEY: ${{ secrets.LITELLM_VIRTUAL_KEY }} - ANTHROPIC_BASE_URL: ${{ secrets.LITELLM_BASE_URL }} + - name: Check for potential duplicates + uses: wow-actions/potential-duplicates@v1 + with: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - PROMPT: | - A new issue has been created in the ${{ github.repository }} repository. - - Issue number: ${{ github.event.issue.number }} - - Lookup this issue with gh issue view ${{ github.event.issue.number }} --repo ${{ github.repository }}. - - Search through existing issues (excluding #${{ github.event.issue.number }}) to find potential duplicates. - - Use gh issue list --repo ${{ github.repository }} with relevant search terms from the new issue's title and description. Try multiple keyword combinations to search broadly. Check both open and recently closed issues. - - Consider: - 1. Similar titles or descriptions - 2. Same error messages or symptoms - 3. Related functionality or components - 4. Similar feature requests - - If you find potential duplicates, post a SINGLE comment on issue #${{ github.event.issue.number }} using gh issue comment ${{ github.event.issue.number }} --repo ${{ github.repository }} with this format: - - _This comment was generated by an LLM and may be inaccurate._ - - This issue might be a duplicate of existing issues. Please check: - - #[issue_number]: [brief description of similarity] - - If you find NO duplicates, do NOT post any comment. Stay silent. - run: claude -p "$PROMPT" --model sonnet --max-turns 10 --allowedTools "Bash(gh issue *)" + label: potential-duplicate + threshold: 0.6 + reaction: eyes + comment: | + **⚠️ Potential duplicate detected** + + This issue appears similar to existing issue(s): + {{#issues}} + - [#{{number}}]({{html_url}}) - {{title}} ({{accuracy}}% similar) + {{/issues}} + + Please review the linked issue(s) to see if they address your concern. If this is not a duplicate, please provide additional context to help us understand the difference. diff --git a/.github/workflows/check_duplicate_prs.yml b/.github/workflows/check_duplicate_prs.yml deleted file mode 100644 index 5a5f1a89e695..000000000000 --- a/.github/workflows/check_duplicate_prs.yml +++ /dev/null @@ -1,52 +0,0 @@ -name: Check Duplicate PRs - -on: - pull_request_target: - types: [opened] - -jobs: - check-duplicates: - if: | - github.event.pull_request.user.login != 'ishaan-jaff' && - github.event.pull_request.user.login != 'krrishdholakia' && - github.event.pull_request.user.login != 'actions-user' && - !endsWith(github.event.pull_request.user.login, '[bot]') - runs-on: ubuntu-latest - permissions: - contents: read - pull-requests: write - steps: - - name: Install Claude Code - run: npm install -g @anthropic-ai/claude-code - - - name: Check duplicates - env: - ANTHROPIC_API_KEY: ${{ secrets.LITELLM_VIRTUAL_KEY }} - ANTHROPIC_BASE_URL: ${{ secrets.LITELLM_BASE_URL }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - PROMPT: | - A new PR has been opened in the ${{ github.repository }} repository. - - PR number: ${{ github.event.pull_request.number }} - - Lookup this PR with gh pr view ${{ github.event.pull_request.number }} --repo ${{ github.repository }}. - - Search through existing open PRs (excluding #${{ github.event.pull_request.number }}) to find potential duplicates. - - Use gh pr list --repo ${{ github.repository }} with relevant search terms from the new PR's title and description. Try multiple keyword combinations to search broadly. Check both open and recently closed PRs. - - Consider: - 1. Similar titles or descriptions - 2. Same bug fix or feature being implemented - 3. Related functionality or components - 4. Overlapping code changes (same files or areas) - - If you find potential duplicates, post a SINGLE comment on PR #${{ github.event.pull_request.number }} using gh pr comment ${{ github.event.pull_request.number }} --repo ${{ github.repository }} with this format: - - _This comment was generated by an LLM and may be inaccurate._ - - This PR might be a duplicate of existing PRs. Please check: - - #[pr_number]: [brief description of similarity] - - If you find NO duplicates, do NOT post any comment. Stay silent. - run: claude -p "$PROMPT" --model sonnet --max-turns 10 --allowedTools "Bash(gh pr *)"