feat: Phase 4 — reusable workflow ("subscribe") + dogfood it
Centralizes the ~90-line consumer stub into a reusable Gitea workflow so a repo can subscribe to Gadfly with a tiny caller. Feasibility was probe- verified on this act_runner: workflow_call runs, secrets: inherit delivers, and a fully-qualified owner/repo/path@ref resolves. - .gitea/workflows/review-reusable.yml: `on: workflow_call` job holding the image pin + all env plumbing. Inputs (models/specialists/provider/ concurrency/timeouts/allowed_users/…) default to "" so an empty value falls back to the image's own default — caller overrides only what it wants. Secrets via `secrets: inherit` (optional ones resolve empty). - adversarial-review.yml: gadfly's own dogfood is now a thin CALLER of the reusable (proves it end-to-end; advisory so safe to dogfood). - examples/reusable.yml: the slim ~8-line consumer stub. - README / examples/README / CLAUDE.md document the subscribe path. Caveat: consumers with arbitrary GADFLY_ENDPOINT_<NAME>s still need the full stub (a reusable workflow can't enumerate dynamic secret names). YAML validated; Go unchanged (build + test green). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -37,9 +37,12 @@ Gadfly ships as a container image, so consuming repos don't build anything — t
|
||||
it. Drop one file in your repo and set a couple of secrets/vars:
|
||||
|
||||
1. Copy a stub from [`examples/`](examples/) to `.gitea/workflows/adversarial-review.yml` in
|
||||
your repo — [`adversarial-review.yml`](examples/adversarial-review.yml) for the Ollama Cloud
|
||||
default, or a provider-specific one (local Ollama, OpenAI-compatible, endpoint aliases). See
|
||||
the [examples index](examples/README.md).
|
||||
your repo. Two flavors: the slim [`reusable.yml`](examples/reusable.yml) — a tiny caller of
|
||||
Gadfly's **reusable workflow** (`uses: steve/gadfly/.gitea/workflows/review-reusable.yml@…`
|
||||
+ `secrets: inherit`), best when you take the defaults — or the full self-contained
|
||||
[`adversarial-review.yml`](examples/adversarial-review.yml) (Ollama Cloud default, with inline
|
||||
notes for every provider / local Ollama / OpenAI-compatible / endpoint aliases). See the
|
||||
[examples index](examples/README.md).
|
||||
2. Add repo config:
|
||||
- **secret** `OLLAMA_CLOUD_API_KEY` — your [Ollama Cloud](https://ollama.com) key (empty
|
||||
⇒ Gadfly posts a harmless "not configured" notice instead of reviewing). *Not needed if
|
||||
|
||||
Reference in New Issue
Block a user