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.
58 lines
2.4 KiB
YAML
58 lines
2.4 KiB
YAML
name: AI Chat (Bartender)
|
|
|
|
# WORKFLOW ROUTING:
|
|
# This workflow handles FREE-FORM questions/chat (no specific command)
|
|
# Other workflows: ai-issue-triage.yml (@codebot triage), ai-comment-reply.yml (specific commands)
|
|
# This is the FALLBACK for any @codebot mention that isn't a known command
|
|
|
|
on:
|
|
issue_comment:
|
|
types: [created]
|
|
|
|
# CUSTOMIZE YOUR BOT NAME:
|
|
# Change '@codebot' in all conditions below to match your config.yml mention_prefix
|
|
# Examples: '@bartender', '@uni', '@joey', '@codebot'
|
|
|
|
jobs:
|
|
ai-chat:
|
|
# Only run if comment mentions the bot but NOT a specific command
|
|
# This prevents duplicate runs with ai-comment-reply.yml and ai-issue-triage.yml
|
|
if: |
|
|
contains(github.event.comment.body, '@codebot') &&
|
|
!contains(github.event.comment.body, '@codebot triage') &&
|
|
!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')
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
repository: Hiddenden/openrabbit
|
|
path: .ai-review
|
|
token: ${{ secrets.AI_REVIEW_TOKEN }}
|
|
|
|
- uses: actions/setup-python@v5
|
|
with:
|
|
python-version: "3.11"
|
|
|
|
- run: pip install requests pyyaml
|
|
|
|
- name: Run AI Chat
|
|
env:
|
|
AI_REVIEW_TOKEN: ${{ secrets.AI_REVIEW_TOKEN }}
|
|
AI_REVIEW_REPO: ${{ gitea.repository }}
|
|
AI_REVIEW_API_URL: https://git.hiddenden.cafe/api/v1
|
|
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
|
OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }}
|
|
OLLAMA_HOST: ${{ secrets.OLLAMA_HOST }}
|
|
SEARXNG_URL: ${{ secrets.SEARXNG_URL }}
|
|
run: |
|
|
cd .ai-review/tools/ai-review
|
|
python main.py comment ${{ gitea.repository }} ${{ gitea.event.issue.number }} "${{ gitea.event.comment.body }}"
|