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.

Link to headingSince last time

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

Link to headingStrategies for incremental migration

Link to headingOption 1: The same strategy

Link to headingOption 2: Write from scratch

Link to headingOption 3: Trampoline

Link to headingOption 4: Use the daemon

Link to headingThe winning solution: The Go sandwich

Link to headingSandwich porting process

Link to headingThe Turborepo release process

Link to headingGo sandwich complications

Link to headingWindows ARM

Link to headingC Dependencies

Link to headingEnter zig cc

Link to headingWhy all the effort?

Ready to deploy?