finds.dev← search

// the find

cadence-workflow/cadence-go-client

★ 382 · Go · Apache-2.0 · updated Sep 2026

Framework for authoring workflows and activities running on top of the Cadence orchestration engine.

The official Go SDK for authoring workflows and activities on Cadence, Uber's durable workflow orchestration engine. It's for teams running or evaluating Cadence specifically — not Temporal, which forked from this codebase and became the more active ecosystem.

Workflow replay testing (test/replaytests) lets you validate that code changes don't break determinism against recorded histories, which is the thing that actually bites people in production workflow engines. There's a real compatibility layer (internal/compatibility/thrift and /proto) handling an in-flight Thrift-to-proto migration without breaking existing callers. Worker concurrency has an actual auto-scaler (internal/worker/concurrency_auto_scaler.go) rather than static pool sizes, and the test suite is extensive — evictiontest, schedule integration tests, fuzzer-based testdatagen.

The README gives you nothing: no code sample of what authoring a workflow looks like, just an install command and a link out to docs and a separate samples repo. It still tells you to clone into a GOPATH-style path (`$GOPATH/src/go.uber.org/cadence`) despite the project having a go.mod — leftover instructions that will confuse anyone on modern Go. The generated Thrift/YARPC client code lives checked into .gen/go, so you're carrying codegen artifacts in the repo. And at 382 stars for a project this old from Uber, the gravitational pull has clearly moved to Temporal — anyone picking Cadence fresh in 2026 should know they're choosing the less-maintained branch of this family tree.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →