Skip to content
Dashboard

Using Zig in our incremental Turborepo migration from Go to Rust

Turborepo Core Team

Learn how we're cross-compiling a Rust-Go-Rust sandwich to six platforms.

Copy link to headingSince last time

Copy link to headingrun and prune

A graph showing a full monorepo with abstract packages, and another directed graph showing a subset of the monorepo after running `turbo prune` on the monorepoA graph showing a full monorepo with abstract packages, and another directed graph showing a subset of the monorepo after running `turbo prune` on the monorepo
A graph showing a full monorepo with abstract packages, and another directed graph showing a subset of the monorepo after running `turbo prune` on the monorepo

Copy link to headingStrategies for incremental migration

Copy link to headingOption 1: The same strategy

Copy link to headingOption 2: Write from scratch

Copy link to headingOption 3: Trampoline

Copy link to headingOption 4: Use the daemon

Copy link to headingThe winning solution: The Go sandwich

Copy link to headingSandwich porting process

Copy link to headingThe Turborepo release process

Copy link to headingGo sandwich complications

Copy link to headingWindows ARM

Copy link to headingC Dependencies

Copy link to headingEnter zig cc

Copy link to headingWhy all the effort?

Ready to deploy?