Support testing build determinism
Builds can now specify the attribute "isDeterministic = true" to tell Hydra to build with build-repeat > 0. If there is a mismatch between rounds, the step / build fails with a suitable status. Maybe this should be a meta attribute, but that makes it invisible to hydra-queue-runner, and it seems reasonable to make a claim of mandatory determinism part of the derivation (since e.g. enabling this flag should trigger a rebuild).
This commit is contained in:
@ -35,6 +35,7 @@ typedef enum {
|
||||
bsUnsupported = 9,
|
||||
bsLogLimitExceeded = 10,
|
||||
bsNarSizeLimitExceeded = 11,
|
||||
bsNotDeterministic = 12,
|
||||
bsBusy = 100, // not stored
|
||||
} BuildStatus;
|
||||
|
||||
@ -139,6 +140,7 @@ struct Step
|
||||
nix::Derivation drv;
|
||||
std::set<std::string> requiredSystemFeatures;
|
||||
bool preferLocalBuild;
|
||||
bool isDeterministic;
|
||||
std::string systemType; // concatenation of drv.platform and requiredSystemFeatures
|
||||
|
||||
struct State
|
||||
|
Reference in New Issue
Block a user