O Que É uma Toolchain?
Uma toolchain é a coleção de ferramentas que transformam código-fonte em um artifact executável, tipicamente incluindo um compilador, assembler, linker e utilitários de apoio, muitas vezes versionados juntos. Fixar a versão exata da toolchain é crítico para a reprodutibilidade, já que um compilador diferente pode produzir uma saída diferente do mesmo código-fonte.
Por que isso importa
Builds dependem não apenas do código-fonte, mas das ferramentas que o processam, então uma toolchain não fixada é uma entrada oculta que quebra a reprodutibilidade e pode causar falhas do tipo works-on-my-machine. Declarar e fixar a toolchain, idealmente como uma entrada hermetic, mantém os builds de CI consistentes com os locais.
Conceitos relacionados
- Inclui compilador, linker e sistema de build
- Fixar sua versão auxilia a reprodutibilidade
- A cross-compilation usa uma toolchain para outro target
Guias relacionados
What Is Cross-Compilation?Cross-compilation builds executables for a different platform than the one doing the build, such as compiling…
What Is a Hermetic Toolchain?A hermetic toolchain is a build toolchain pinned and packaged as an explicit input, so builds do not depend o…
What Is a Deterministic Build?A deterministic build produces the same output from the same inputs every time, with no run-to-run variation…