Skip to content

GitHub Action

reflow-io/reflow-action@v1 runs your flows against a PR preview and posts the result as a check.

- uses: reflow-io/reflow-action@v1
with:
api-token: ${{ secrets.REFLOW_API_TOKEN }} # PAT with exec:runs scope
target-url: ${{ steps.preview.outputs.url }} # preview base URL
flows: ".reflow/flows/**.md" # optional glob, default shown

Team, default provider key, and budgets come from .reflow/config.yml in the repo — the Action carries no configuration of its own.

  1. Globs your flows and submits them with the PR’s repo, branch, and commit SHA. The idempotency key is derived per (flow, sha) — re-runs are safe.
  2. Polls until every run is terminal.
  3. Posts one rollup check plus a PR comment table: flow, status, duration, healed steps, artifact links. Set per_flow_checks: true in .reflow/config.yml for a check per flow.

Use the standard concurrency guard so a new push cancels the stale run:

concurrency:
group: reflow-pr-${{ github.event.pull_request.number }}
cancel-in-progress: true

The Action propagates cancellation to Reflow — in-flight browser runs stop and stop billing.

Before executing, the Action logs the estimated worst-case cost of the batch and your current balance. Runs that would exceed your balance fail fast with insufficient_credit rather than running partially.