Skip to content

workflow-graph

Render interactive workflow graphs in the browser with pixel-perfect GitHub icons. Execute workflows via a pluggable queue system with external workers. Built with Rust + WebAssembly.
ci.yml — workflow run
8 queued 0 running 0 success 0 failure
 

Key Features

Interactive DAG Visualization

Canvas-based renderer with drag-and-drop nodes, pan & zoom, path highlighting, and animated status icons — all via WebAssembly.

Pluggable Queue System

Trait-based backends: in-memory for dev, Postgres/pg-boss or Redis for production. Implement your own with four traits.

External Workers

Workers poll for jobs via HTTP. Use the Rust SDK, run the standalone binary, or build workers in any language.

Embeddable Library

Drop into your own Axum server with create_router(). Use the WASM renderer in any frontend. Deploy the API to the edge.

Quick Example

Define workflows in YAML:

name: CI Pipeline
on: push
jobs:
test:
name: Unit Tests
run: cargo test
lint:
name: Lint
run: cargo clippy
build:
name: Build
needs: [test, lint]
run: cargo build --release
deploy:
name: Deploy
needs: [build]
labels: [linux, aws]
run: ./scripts/deploy.sh

Then render them interactively in the browser, execute jobs with external workers, and stream logs in real time.