Parallel Build Workflows

When maintaining many workers, parallel build mode reduces release lead time.

Enable parallelism

# default parallel width (4)
npx worker-cli build --parallel

# explicit parallel width
npx worker-cli build --parallel=8

How to think about it

workers -> local build -> registration test -> (optional) push queue
  • Local builds run concurrently.
  • Registration checks run per built worker.
  • Pushes are queued in FIFO order to keep remote publish flow controlled.

Recommended release pattern

npx worker-cli consistency
npx worker-cli check
npx worker-cli build --parallel=4 --push

Resource sizing guidance

  • Start with --parallel=4.
  • Increase if host has spare CPU/memory/network.
  • Reduce if Docker daemon starts thrashing or tests become unstable.

[INFO!speed/BALANCE] More concurrency is not always faster if your bottleneck is registry upload or shared disk IO.

Example: Nightly batch release

# nightly pipeline
npx worker-cli consistency
npx worker-cli build --parallel=6 --push

References

  • sdk/worker/repo-management/src/commands/build.ts
  • sdk/worker/repo-management/src/lib/parallel-build.ts
  • sdk/worker/repo-management/src/lib/progress-ui.ts