Web Analytics

Go Module Migration Without the Pain: The Art of Stable Import Paths

The Migration That Shouldn’t Have Happened A team I know spent three weeks migrating 120 Go services from one Git host to another. The code moved in a day. The remaining two-and-a-half weeks? Updating import paths across every repo, every CI pipeline, every Dockerfile, and every downstream consumer. The worst part: they’d been through this before. Two years earlier, they migrated from SVN to Git and rewrote every import path then, too. ...

July 15, 2026 · Tony Bai

Why Your Go Private Modules Shouldn't Use Raw GitHub Paths

A Real Nightmare Last year, a friend of mine — let’s call him Alex — made a perfectly reasonable decision: migrate his company’s code from GitHub Enterprise to a self-hosted GitLab instance. Sounds straightforward, right? Move the repos, tweak the CI, and call it a day. Until they realized: all 200+ Go microservices had import paths starting with github.com/their-org/. Moving the repositories took a weekend. But updating the import paths across every downstream service? Three engineers spent two weeks on it. Then another week for regression testing. ...

July 12, 2026 · Tony Bai