Move nightly builds onto the shared cache

Fictional sample. The company, the numbers, and the people on this page are invented to show a decision page; replace them with your own measured evidence.

Recommendation: switch on 3 November 2026

Nightly integration builds at Northwind take 118 minutes and finish after the European morning starts. On the shared cache, the four-week trial ran them in 46 minutes. We recommend switching all 38 nightly pipelines on Tuesday 3 November 2026, with a one-command way back.

Nightly build time, median of 20 runsMedian nightly integration build time in minutes without and with the shared cache, measured 6 September to 3 October 2026.
Nightly build time, median of 20 runsMedian nightly integration build time in minutes without and with the shared cache, measured 6 September to 3 October 2026. Data: Median minutes, Local runners: 118; Median minutes, Shared cache: 46.050100150Local runnersShared cacheSetupMinutes050100150LocalrunnersSharedcacheSetupMinutes
  • Median minutes

What the trial measured

−61% build time

Good

Median nightly time fell from 118 to 46 minutes over 20 runs, 6 September – 3 October 2026.

94% cache hits

Good

Share of compile steps served from the cache in the last week of the trial.

+€1,900 a month

Watch

Storage and egress for the cache at today's volume, quoted by the platform team on 1 October.

2 stale-cache failures

At risk

Both came from one misconfigured key in week 1 and were fixed on 12 September; none since.

How we switch, and how we switch back

Nightly build with the shared cacheThe scheduler starts a build, the runner asks the cache for each compile step, and only misses compile locally before results return to the cache.
Nightly build with the shared cacheThe scheduler starts a build, the runner asks the cache for each compile step, and only misses compile locally before results return to the cache. Nodes: 4; flow layers: 4. Layers along the flow: 1. Scheduler — 02:00 CET. 2. Build runner. 3. Local compile — cache misses only. 4. Shared cache [New component]. Connections along the flow: Scheduler → Build runner: start nightly build (call); Build runner → Shared cache: look up each step (data or values); Build runner → Local compile: on a miss (call); Local compile → Shared cache: store the result (data or values).Scheduler02:00 CETBuild runnerShared cacheLocal compilecache misses onlystart nightly buildlook up each stepon a missstore the result
  • New component
  • call
  • data or values
Diagram in words

Nodes: 4; flow layers: 4.

Layers along the flow

  1. Scheduler — 02:00 CET
  2. Build runner
  3. Local compile — cache misses only
  4. Shared cache [New component]

Connections along the flow

  • Scheduler → Build runner: start nightly build (call)
  • Build runner → Shared cache: look up each step (data or values)
  • Build runner → Local compile: on a miss (call)
  • Local compile → Shared cache: store the result (data or values)
RolloutFour dated steps from the switch to closing the trial, each with one owner.
  1. Switch 38 pipelines

    Switch-over

    Owner: Priya Raman, build platform. One flag per pipeline; the old runners stay warm.

  2. Watch the morning

    Owner: Tomás Ferreira, release. Compare finish times with the trial every morning at 07:00.

  3. Keep or roll back

    Decision point

    Owner: Priya Raman. Rolling back is one command that turns the flag off on all pipelines.

  4. Retire the spare runners

    Trial closed

    Owner: Ana Kovač, finance partner. Only after a full week without a stale-cache failure.

  • Switch-over
  • Decision point
  • Trial closed

What we ask of you

Decision needed By From
Approve the €1,900 budget 24 October Head of platform
Agree the 3 November date 24 October Release manager
Name a rollback reviewer 31 October Engineering leads

Adopt the shared cache, reversibly

Switch on 3 November, keep the old runners warm for one week, and decide on 10 November from the morning finish times.