Mercari's Web Platform Team intern implemented a self-hosted Turborepo remote cache to speed up CI pipelines in a monorepo setup. Three architectural approaches were evaluated: deploying a microservice on GKE (rejected due to latency and cost), Cloud Run (rejected due to cache isolation complexity), and a custom GitHub Action (adopted). Two patterns were built: a background Node.js process for standard builds and a sidecar container for Docker builds. The solution achieved ~50% reduction in Turbo task duration and ~30% reduction in total job duration on a large well-modularized repository. Key caveats include a ~10-second cold start penalty and limited gains for repos lacking internal package dependencies.
78 Impressions