Skip to content

perf: parallelize EmbedBatch using goroutines and errgroup #871

perf: parallelize EmbedBatch using goroutines and errgroup

perf: parallelize EmbedBatch using goroutines and errgroup #871

Workflow file for this run

name: Simili Triage
on:
issues:
types: [opened, edited, reopened, labeled]
pull_request:
types: [opened, edited, reopened, synchronize, labeled, ready_for_review]
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
schedule:
- cron: "0 0 * * 0" # Weekly maintenance — every Sunday at midnight
workflow_dispatch: {} # Manual trigger for maintenance
concurrency:
group: simili-${{ github.event.issue.number || github.event.pull_request.number || github.run_id }}
cancel-in-progress: false
permissions:
contents: write
issues: write
pull-requests: write
id-token: write
actions: read
jobs:
triage:
runs-on: ubuntu-latest
# Skip only when the bot itself posts a comment (prevents feedback loop).
if: >
github.event_name == 'schedule' ||
github.event_name == 'workflow_dispatch' ||
github.event_name != 'issue_comment' ||
(github.actor != 'gh-simili-bot' && github.actor != 'github-actions[bot]' && github.actor != 'claude[bot]')
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Run Simili Bot
id: simili
uses: ./
env:
QDRANT_URL: ${{ secrets.QDRANT_URL }}
QDRANT_API_KEY: ${{ secrets.QDRANT_API_KEY }}
GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
with:
config_path: .github/simili.yaml
command: process
github_token: ${{ secrets.SIMILI_BOT_TOKEN || secrets.GITHUB_TOKEN }}
transfer_token: ${{ secrets.TRANSFER_TOKEN }}
# Claude Code — runs only when simili-bot triggers it.
# The Go code handles authorization and prompt building;
# this step just executes what's been decided.
- name: Run Claude Code
if: steps.simili.outputs.claude_code_triggered == 'true'
uses: anthropics/claude-code-action@v1
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
trigger_phrase: "@simili-bot"
prompt: ${{ steps.simili.outputs.claude_code_prompt }}
claude_args: ${{ steps.simili.outputs.claude_code_model_override && format('--model {0}', steps.simili.outputs.claude_code_model_override) || '' }}