Skip to content

FlareDispatch GitHub Actions

Reusable GitHub Actions for consuming FlareDispatch from your own repositories. Both are self-contained composite actions — no bundled runtime, no npm install, nothing to keep in sync.

Action What it does
flare-dispatch-action Dispatch a run. HMAC-signs a dispatch body and POSTs it to your Dispatcher Worker from a CI workflow. The run executes on Cloudflare and reports back via a flare-dispatch/<run> check-run.
deploy-dispatcher-action Ship the Worker. Deploys the dispatcher into your Cloudflare account via an operator-overlay wrangler.jsonc + a pinned upstream SHA.

The two are complementary: deploy-dispatcher-action stands up the Dispatcher in your account once; flare-dispatch-action runs in each consumer repo’s CI to offload heavy jobs onto it.

Where each action sits Flowchart, left to right. 4 nodes, 3 edges. Operator repo deploy-dispatcher-action → Dispatcher Worker your Cloudflare account [wrangler deploy] Dispatcher Worker your Cloudflare account → Pull request flare-dispatch/‹run› [check-run verdict] Consumer repo CI flare-dispatch-action → Dispatcher Worker your Cloudflare account [signed POST, 202] wrangler deploy signed POST, 202 check-run verdict Operator repodeploy-dispatcher-action Dispatcher Workeryour Cloudflare account Consumer repo CIflare-dispatch-action Pull requestflare-dispatch/‹run›
Where each action sits
Diagram source
flowchart LR
accTitle: Where each action sits
ops["**Operator repo**<br/>deploy-dispatcher-action"] -->|"wrangler deploy"| worker["**Dispatcher Worker**<br/>your Cloudflare account"]
ci["**Consumer repo CI**<br/>flare-dispatch-action"] -->|"signed POST, 202"| worker
worker -->|"check-run verdict"| pr["**Pull request**<br/>flare-dispatch/‹run›"]
class worker accent
# consumer repo — offload the test suite onto your Dispatcher
- uses: fractalboxdev/flare-dispatch/actions/flare-dispatch-action@<sha>
with:
run: offload-test
endpoint: ${{ vars.FLAREDISPATCH_ENDPOINT }}
hmac-secret: ${{ secrets.FLAREDISPATCH_HMAC }}
inputs: |
{ "repo": "${{ github.repository }}", "sha": "${{ github.sha }}", "command": "pnpm test" }

Pin every uses: by commit SHA (@<sha>), not @main — a moving ref is not reproducible. See each action’s README for the full input/output contract.