From 8bdf83f936adae6f2c907a6d2541e80d4120f051 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 7 Dec 2016 13:16:06 +0100 Subject: Add an option to make non-determinism non-fatal That is, when build-repeat > 0, and the output of two rounds differ, then print a warning rather than fail the build. This is primarily to let Hydra check reproducibility of all packages. --- src/libstore/store-api.hh | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/libstore/store-api.hh') diff --git a/src/libstore/store-api.hh b/src/libstore/store-api.hh index 2ea74d90e78e..ee2b6b2862b6 100644 --- a/src/libstore/store-api.hh +++ b/src/libstore/store-api.hh @@ -208,7 +208,18 @@ struct BuildResult NotDeterministic, } status = MiscFailure; std::string errorMsg; + + /* How many times this build was performed. */ + unsigned int timesBuilt = 0; + + /* If timesBuilt > 1, whether some builds did not produce the same + result. (Note that 'isNonDeterministic = false' does not mean + the build is deterministic, just that we don't have evidence of + non-determinism.) */ + bool isNonDeterministic = false; + //time_t startTime = 0, stopTime = 0; + bool success() { return status == Built || status == Substituted || status == AlreadyValid; } -- cgit 1.4.1