name: Comment on potential duplicate bug/crash reports on: issues: types: [opened] workflow_dispatch: inputs: issue_number: description: "Issue number to analyze" required: true type: number concurrency: group: potential-duplicate-check-${{ github.event.issue.number || inputs.issue_number }} cancel-in-progress: true jobs: identify-duplicates: # For manual testing, allow running on any branch; for automatic runs, only on main repo if: github.event_name == 'workflow_dispatch' || github.repository == 'zed-industries/zed' runs-on: ubuntu-latest timeout-minutes: 5 permissions: contents: read issues: write steps: - name: Checkout repository uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1 with: sparse-checkout: script/github-check-new-issue-for-duplicates.py sparse-checkout-cone-mode: false - name: Get github app token id: get-app-token uses: actions/create-github-app-token@f8d387b68d61c58ab83c6c016672934102569859 # v3.0.0 with: app-id: ${{ secrets.ZED_COMMUNITY_BOT_APP_ID }} private-key: ${{ secrets.ZED_COMMUNITY_BOT_PRIVATE_KEY }} owner: zed-industries - name: Set up Python uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0 with: python-version: "3.12" - name: Install dependencies run: pip install requests - name: Run duplicate detection id: detect env: GITHUB_TOKEN: ${{ steps.get-app-token.outputs.token }} ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY_ISSUE_DEDUP }} ISSUE_NUMBER: ${{ github.event.issue.number || inputs.issue_number }} run: | python script/github-check-new-issue-for-duplicates.py "$ISSUE_NUMBER" > result.json cat result.json - name: Write job summary if: always() run: | echo '```json' >> "$GITHUB_STEP_SUMMARY" if [[ -f result.json ]] && jq empty result.json 2>/dev/null; then jq . result.json >> "$GITHUB_STEP_SUMMARY" else echo '{"error": "No valid result.json generated. Check logs for details."}' >> "$GITHUB_STEP_SUMMARY" fi echo '```' >> "$GITHUB_STEP_SUMMARY"