migrationsLinkgithub.blog ↗
Migrating the GitHub Copilot runtime to Rust, using Copilot
One engineer plus agents ported GitHub's Copilot runtime to Rust in 14.5 weeks without pausing releases: 128 PRs, 135 releases, and dozens of regressions on the bill.
Why we picked it · the editor's summary
GitHub replaced the Copilot runtime's TypeScript one component per pull request: each PR swapped in a thin shim that called Rust and deleted the old code in the same change, so main stayed shippable and the end-to-end tests ran against Rust at once. They chose not to keep two versions of a component alive side by side. The temporary interop seam peaked on August 3 at 2,019 internal N-API exports and 3,356 TypeScript call sites, then fell to zero. The ledger is honest: dozens of known regressions, mostly ambiguous number semantics and ambient behavior like environment variables and time zones, and some reached a stable release. If you are planning a language migration, chart the size of your seam week by week; it tells you whether you are finishing.
Comments
Loading comments…