paul wrote:
My OS is a large-scale build, which does not use a single build system.
Good. I don't have an OS, so I can't relate.
Reproducible here refers to you get a bug report about build number 49121, but you're already on 56192 internally. You need to be able to rewind back to 49121. The entire state of the project is a unit, you can't treat dependencies as their own separate kingdoms which you build, "install", and forget about.
If the dependencies are different between build 49121 and 56192, I would've update CI scripts in the repo with the different requirements. Otherwise the CI has no idea how to build it correctly. When I rollback to 49121, I just use the CI scripts for that commit.
It's not entirely clear to me how just using the CI scripts for that commit would give you the build for that commit. The point of the install model is that the build of the project doesn't rebuild the dependencies, it uses the prebuilt ones.