# Gadfly with named ENDPOINT ALIASES — review with several backends at once, # each posting its own comment. Copy to .gitea/workflows/adversarial-review.yml. # # GADFLY_ENDPOINT_="|[|]" registers a provider you # can then reference as "/" (NAME lowercases: BIGBOX -> bigbox). # The base URL is used verbatim, so plaintext http LAN endpoints work. # # Gitea note: vars/secrets aren't auto-exposed as env, so map each alias here. # Suggested repo vars: # GADFLY_ENDPOINT_BIGBOX = ollama|http://192.168.1.50:11434 # GADFLY_ENDPOINT_GPU = openai|http://gpu.lan:8000/v1 name: Adversarial Review (Gadfly) on: pull_request: types: [opened, reopened, ready_for_review] issue_comment: types: [created] workflow_dispatch: inputs: pr_number: { description: "PR number to review", required: true } permissions: contents: read issues: write pull-requests: write concurrency: group: gadfly-${{ github.event.issue.number || github.event.pull_request.number || github.event.inputs.pr_number }} cancel-in-progress: true jobs: review: runs-on: ubuntu-latest timeout-minutes: 30 steps: - uses: docker://gitea.stevedudenhoeffer.com/steve/gadfly:latest env: GITEA_API: ${{ github.server_url }}/api/v1/repos/${{ github.repository }} GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} # --- named endpoints (mapped from repo vars) --- GADFLY_ENDPOINT_BIGBOX: ${{ vars.GADFLY_ENDPOINT_BIGBOX }} # "ollama|http://192.168.1.50:11434" GADFLY_ENDPOINT_GPU: ${{ vars.GADFLY_ENDPOINT_GPU }} # "openai|http://gpu.lan:8000/v1" # one reviewer (one comment) per model, across the aliased endpoints: GADFLY_MODELS: "bigbox/qwen2.5-coder:7b,gpu/llama3.1" # --- event context (leave as-is) --- EVENT_NAME: ${{ github.event_name }} PR: ${{ github.event.pull_request.number || github.event.issue.number || github.event.inputs.pr_number }} PR_BRANCH: ${{ github.head_ref }} IS_DRAFT: ${{ github.event.pull_request.draft }} COMMENT_BODY: ${{ github.event.comment.body }} COMMENT_ID: ${{ github.event.comment.id }} ACTOR: ${{ github.actor }}