Back to browse
GitHub Repository

Full-featured Google Cloud Workflows emulator for local development and integration testing

16 starsGo

Local Emulator for Google Cloud Workflows

by rmgn·Mar 2, 2026·2 points·1 comment

AI Analysis

●●●BangerSolve My ProblemShip It

Google Cloud Workflows emulator eliminates deploy-to-cloud edit cycle friction.

Strengths
  • Full API compatibility (REST + gRPC) means zero code changes to test workflows locally.
  • Hot-reload on file save and built-in web UI make iteration loops 10x faster than GCP deployment.
  • Comprehensive feature parity: parallel execution, subworkflows, full stdlib, error handling match production behavior.
Weaknesses
  • Limited audience (GCP-specific tooling for niche use case, though well-executed).
  • Documentation exists but unclear how it handles advanced GCP integrations (Cloud Tasks, Pub/Sub mocking).
Target Audience

GCP developers using Cloud Workflows who need faster local iteration and integration testing

Similar To

Firebase Emulator Suite · Cloud Run emulator · LocalStack

Post Description

Google Cloud Workflows has no official emulator. The dev cycle is: edit YAML, deploy to GCP, trigger, check logs. Repeat for every change.

I built an open-source emulator in Go that runs locally:

docker run -p 8787:8787 -p 8788:8788 \ -v $(pwd)/workflows:/workflows \ -e WORKFLOWS_DIR=/workflows \ ghcr.io/lemonberrylabs/gcw-emulator:latest

What it does:

- Watches your workflow directory and hot-reloads on save - Full REST and gRPC API compatibility (same endpoints, same request/response format) - Workflow http.* steps call your local services — so you can run your entire orchestration stack on localhost - Parallel execution, subworkflows, try/except/retry, expression engine - Most of the standard library: http, sys, text, json, base64, math, list, map, time, uuid, events, retry - Built-in web UI at /ui for triggering executions and inspecting results - CI-friendly: set WORKFLOWS_EMULATOR_HOST=localhost:8787 in your test env

What it doesn't do: googleapis.* connectors (mock them with local HTTP services), IAM/auth, Eventarc triggers, step-level execution history.

Apache 2.0. Written in Go.

GitHub: https://github.com/lemonberrylabs/gcw-emulator Docs: https://lemonberrylabs.github.io/gcw-emulator

Similar Projects