Just shipped our new CI/CD pipeline engine - 3x faster builds with intelligent caching and parallel execution across regions.
The launch post was short. The engineering behind it was not. Here is what changed in the build graph, cache strategy, and deployment runtime to make the new engine meaningfully faster.

vxcloud
@vxcloud
Product and platform updates from the vxcloud engineering and GTM teams.
A laptop showing code on a busy engineering desk.
Photo: Christopher Gower / UnsplashThe tweet was the trailer. This is the full release note.
The simple version is that builds got much faster. The more useful version is why.
Our previous pipeline runtime had the same problem many internal CI systems eventually hit: it did the right work, but in the wrong order. Too many jobs waited on coarse stage boundaries, cache reuse was inconsistent across branches, and monorepo changes triggered large parts of the graph that were technically unrelated.
The new engine exists to make the pipeline behave more like the codebase actually behaves.
We rebuilt the execution model around a dependency graph
Traditional stage-based CI is easy to reason about, but it becomes expensive in large repos. One slow job holds the entire stage open, and independent work sits idle.
The new engine constructs a graph of tasks based on declared inputs, outputs, affected packages, and environment contracts. That lets us release runnable work as soon as its real dependencies are satisfied instead of waiting for an arbitrary stage gate.
In practice, that changed two important things:
- Small changes stop paying the latency tax for unrelated systems
- Large changes saturate parallel capacity much more effectively
This sounds obvious, but the operational challenge is making that graph trustworthy. We spent a lot of time on determinism, cache-key stability, and debuggability because a fast pipeline is useless if teams cannot explain why a job ran or skipped.
Cache hits improved because the cache finally reflected reality
Our old caching story mostly depended on branch-level conventions and Docker layer reuse. That helped, but it also created two common failure modes: false misses on nearly identical work and stale hits on tasks whose real inputs were not tracked carefully.
We tightened cache keys around:
- Source files and lockfiles
- Build configuration and environment contracts
- Container build context
- Toolchain versions and target platform
We also made the cache visible. Engineers can now see why a task hit or missed, which is critical for trust. Hidden caching feels magical until it costs someone an hour.
Regional execution was about latency and resilience, not just speed
We run teams and workloads across regions, so our CI system now schedules execution closer to the artifacts, registries, and test environments each workflow depends on.
That matters in three places:
- Pulling large dependencies
- Running integration tests against regional services
- Publishing artifacts back into the deployment path
The engine can dispatch work to the region that minimizes round trips while still respecting policy and capacity. We also built fallback logic so a regional issue degrades performance before it breaks developer delivery.
Rollback had to be first-class or the launch would not be credible
A fast pipeline is only valuable if it keeps release behavior safe. We tied deployment actions to health checks, progressive rollout policies, and automatic rollback hooks so that failure paths were part of the normal runtime, not an afterthought.
That gave teams a better default posture:
- Faster green-path delivery
- Smaller blast radius when a deployment regresses
- Clearer audit trail when the system rolls something back on its own
Speed without rollback discipline just moves the incident earlier in the day.
What changed for developers using it
From a product perspective, the goal was not to make users learn a new mental model. The ideal outcome was that teams keep describing pipelines the way they already do, but the engine executes them more intelligently underneath.
The developer-visible improvements are:
- Shorter feedback loops on PRs
- Fewer full-repo rebuilds on narrow changes
- Better insight into cache behavior and execution order
- Clearer run logs when parallel branches fan out
The best infrastructure products make the advanced parts feel invisible until you need to inspect them.
Why this matters beyond one feature launch
Delivery systems quietly shape engineering behavior. If builds are slow, teams batch changes. If rollouts are unpredictable, teams deploy less often. If CI feels arbitrary, developers stop trusting the results and start adding manual checks around it.
That is why we invested here. Faster builds are nice. More frequent, lower-risk shipping is the real outcome we wanted.
This launch is the first step, not the last one. We are already working on richer affected-target analysis, workload-aware queueing, and stronger deployment policy controls. But the foundation is finally in place: the pipeline now understands enough about the work to stop treating every change like the same change.