3 ms·
Do they? Having a stable starting point for the “machine” you’re building on contributes to having reproducible builds does it not?
by mojo982 5y ago
Do they? Having a stable starting point for the “machine” you’re building on contributes to having reproducible builds does it not?
- DougBTX 5y agoMaybe kinda, but really you'd want reproducible cross-compilation too, so a reproducible build should produce the same binary regardless of which machine it is run on.
- strunz 5y ago"Identical binaries" is not the same thing as "reproducible builds". It's maybe one aspect of one type of CI/CD, but I would say not even the majority.
- DougBTX 5y agoI meant "reproducible builds" in the sense of: https://reproducible-builds.org/docs/definition/ https://reproducible-builds.org/docs/definition/ > A build is reproducible if given the same source code, build environment and build instructions, any party can recreate bit-by-bit identical copies of all specified artifacts.
- pjmlp 5y agoOnly the scenario where development and target machine match 1:1 in hardware and underlying software stack. Just changing the kernel under which the container runs can break havoc on the "reproducible" build.
- mojo982 5y agoI disagree on the importance you’re putting on what I think are edge cases for most development. When I’m building a binary, the biggest issue I tend to run into is the “machine” I’m building it on. Docker allows that “machine” to have reproducibly equivalent dependencies. Same version of Node, .NET, Java, etc. I don’t see how the kernel really matters that much here. I’ve never once cared what Linux kernel I’m on, but I can’t count the number of times I’ve had to figure which exact version of Cordova I need with Ionic or whatever mess of dependencies I need.