practice

Build Reproducibility

also called Reproducible Build, Deterministic Build

The same source input produces a bit-for-bit identical artifact, on any machine, at any time.

supply-chainbuildsprovenance

Reproducibility sounds like pedantry until an incident. When production is misbehaving and you need to know whether the running binary matches the tag you think it does, a reproducible build answers the question in seconds by rebuilding and comparing hashes. Without it, the answer is a shrug.

The usual sources of non-determinism are dull and fixable: embedded timestamps, unpinned dependency ranges that resolve differently on Tuesday, file ordering from the filesystem, absolute paths baked into binaries, locale and timezone leaking into generated output, and network fetches during build that quietly pull a moving target.

The discipline is a lockfile committed to source, a pinned toolchain image rather than a floating tag, a build that runs with the network disabled after dependency resolution, and a normalised build timestamp.

The payoff is not purity. It is that supply-chain attestation means something — signing an artifact nobody can reproduce proves only that you signed it.