fix: Prevent duplicate workflow runs on @codebot mentions
All checks were successful
Enterprise AI Code Review / ai-review (pull_request) Successful in 40s
All checks were successful
Enterprise AI Code Review / ai-review (pull_request) Successful in 40s
Critical fix for workflow routing that was causing 3x duplication on every @codebot mention. All three workflows (ai-chat, ai-comment-reply, ai-issue-triage) were triggering simultaneously. Changes: - ai-issue-triage.yml: Only runs on '@codebot triage' (unchanged, already specific) - ai-comment-reply.yml: Only runs on specific commands (help, explain, suggest, etc) - ai-chat.yml: Only runs on free-form questions (excludes all specific commands) Workflow routing logic: 1. '@codebot triage' → ai-issue-triage.yml ONLY 2. '@codebot <command>' → ai-comment-reply.yml ONLY 3. '@codebot <question>' → ai-chat.yml ONLY (fallback) This prevents the massive duplication issue where every @codebot mention triggered all three workflows simultaneously, causing 10+ redundant runs. Updated documentation in CLAUDE.md with workflow routing architecture.
This commit is contained in:
@@ -1,17 +1,30 @@
|
||||
name: AI Comment Reply
|
||||
|
||||
# WORKFLOW ROUTING:
|
||||
# This workflow handles SPECIFIC commands: help, explain, suggest, security, summarize, review-again, setup-labels
|
||||
# Other workflows: ai-issue-triage.yml (@codebot triage), ai-chat.yml (free-form questions)
|
||||
|
||||
on:
|
||||
issue_comment:
|
||||
types: [created]
|
||||
|
||||
# CUSTOMIZE YOUR BOT NAME:
|
||||
# Change '@ai-bot' below to match your config.yml mention_prefix
|
||||
# Change '@codebot' in the 'if' condition below to match your config.yml mention_prefix
|
||||
# Examples: '@bartender', '@uni', '@joey', '@codebot'
|
||||
|
||||
jobs:
|
||||
ai-reply:
|
||||
runs-on: ubuntu-latest
|
||||
if: contains(github.event.comment.body, '@codebot') # <-- Change this to your bot name
|
||||
# Only run for specific commands (not free-form chat or triage)
|
||||
# This prevents duplicate runs with ai-chat.yml and ai-issue-triage.yml
|
||||
if: |
|
||||
(contains(github.event.comment.body, '@codebot help') ||
|
||||
contains(github.event.comment.body, '@codebot explain') ||
|
||||
contains(github.event.comment.body, '@codebot suggest') ||
|
||||
contains(github.event.comment.body, '@codebot security') ||
|
||||
contains(github.event.comment.body, '@codebot summarize') ||
|
||||
contains(github.event.comment.body, '@codebot review-again') ||
|
||||
contains(github.event.comment.body, '@codebot setup-labels'))
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
|
||||
Reference in New Issue
Block a user