How do i get reproducible builds across containers and ci pipelines?
#1
I’ve been trying to set up a reproducible build environment for my project using containers, but I keep hitting weird inconsistencies between my local setup and the CI pipeline. The whole promise of "works on my machine" being eliminated feels far off. Has anyone else wrestled with this and found a reliable approach for dependency management and toolchain versioning?
Reply
#2
I have been there. I set up a container based build and still saw drift between my laptop and CI. We started pinning tool versions in a manifest and using a single base image that we shared across local and CI. It helped a bit but drift still shows up with host kernel and some library headers.
Reply
#3
Another thing that helped was making a strict reproducible path from start to finish. We used the same image for local runs and CI runs and checked in the exact versions of every tool in a lock file. We avoided building on the host entirely and disabled any implicit upgrades. The result was fewer surprises but not zero.
Reply
#4
Maybe the real issue is not the deps at all but the test environment or caching strategies. I spent days chasing a flaky cache miss in CI that only showed up there. In the end I rewrote the cache rules and it still felt like we were guessing.
Reply
#5
Not sure if this helps but I would try a minimal repro that runs the same image on CI and locally and compare the logs. Do you have a minimal repro that captures the drift or a single failing step you can share?
Reply


[-]
Quick Reply
Message
Type your reply to this message here.

Image Verification
Please enter the text contained within the image into the text box below it. This process is used to prevent automated spam bots.
Image Verification
(case insensitive)

Forum Jump: