Skip to main content

Automate sync with local rules + CI

Bowrain has two layers of automation: local rules declared on the kapi.yaml recipe (top-level automations:) that run on the developer machine (for example a pre-push check gate), and the server side: the project's converge-on-push policy and CI pipelines. Together they make sync fully automated: code lands, results follow.

Local rules

Declare automations: at the top level of the kapi.yaml recipe. A pre-push check rule, for example, fires before kapi push completes, so source never reaches the server without passing your checks. Local rules give a developer guardrails on their own machine. (The recipe also accepts a hooks: block, but hooks are schema-only, not executed; use automations:.)

The server side

With bowrain.converge: on-push (the default), the server runs a server run after every push, with no workflow file needed. For explicit pipelines, The loop in CI covers GitHub Actions, GitLab CI, and the Bowrain GitHub App; the simplest GitHub workflow runs kapi up on every push to main, so the moment code lands the server catches up on the new source and completed work flows back.

Every run, from a push, from CI, or started manually, lands in the project's Runs view in the web and desktop app:

Walkthrough videoPending recording

The desktop app's project Automations and Runs views: automation rules that run the loop on the server on every push, and the run history (each run's state (Running, Up to date, Parked), its trigger, pass count, and per-locale summary) with a Run now button to start one by hand.

View scene script ↗

Next

The full automation rule schema and event types are documented in Automation.