perf: parallelize EmbedBatch using goroutines and errgroup #871
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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) || '' }} |