Skip to content
Latchkey

O Que É um Build Determinístico?

Um build determinístico é aquele cuja saída depende apenas de suas entradas, de modo que repeti-lo com entradas idênticas produz uma saída idêntica. Alcançá-lo significa eliminar fontes de não determinismo como timestamps de build embutidos, ordenação de arquivos não determinística, caminhos absolutos e paralelismo descontrolado. O determinismo é o que torna o caching e a verificação confiáveis.

Por que isso importa

Se um build varia de execução para execução, um cache não pode reutilizar sua saída com segurança e uma verificação de reproducible build falhará mesmo em builds honestos. O determinismo é a propriedade prática que permite confiar em caches de build, builds incrementais e verificações de proveniência.

Conceitos relacionados

  • Pré-requisito para reproducible builds e caching seguro
  • Remova o não determinismo de timestamps, caminho e ordenação
  • Fortemente ligado a hermetic builds

Guias relacionados