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:
@ -69,6 +69,8 @@ FOR step IN steps; IF step.busy; busy = 1; END; END;
|
||||
<span class="error">Log limit exceeded</span>
|
||||
[% ELSIF step.status == 11 %]
|
||||
<span class="error">Output limit exceeded</span>
|
||||
[% ELSIF step.status == 12 %]
|
||||
<span class="error">Non-deterministic build</span>
|
||||
[% ELSIF step.errormsg %]
|
||||
<span class="error">Failed: [% HTML.escape(step.errormsg) %]</span>
|
||||
[% ELSE %]
|
||||
|
@ -209,6 +209,8 @@ BLOCK renderBuildStatusIcon;
|
||||
<img src="[% c.uri_for("/static/images/emojione-red-x-274c.svg") %]" height="[% size %]" width="[% size %]" title="Log limit exceeded" alt="Log limit exceeded" class="build-status" />
|
||||
[% ELSIF buildstatus == 11 %]
|
||||
<img src="[% c.uri_for("/static/images/emojione-red-x-274c.svg") %]" height="[% size %]" width="[% size %]" title="Output size limit exceeded" alt="Output size limit exceeded" class="build-status" />
|
||||
[% ELSIF buildstatus == 12 %]
|
||||
<img src="[% c.uri_for("/static/images/emojione-red-x-274c.svg") %]" height="[% size %]" width="[% size %]" title="Non-deterministic build" alt="Non-deterministic build" class="build-status" />
|
||||
[% ELSE %]
|
||||
<img src="[% c.uri_for("/static/images/emojione-red-x-274c.svg") %]" height="[% size %]" width="[% size %]" title="Failed" alt="Failed" class="build-status" />
|
||||
[% END;
|
||||
@ -240,6 +242,8 @@ BLOCK renderStatus;
|
||||
<span class="error">Log limit exceeded</span>
|
||||
[% ELSIF buildstatus == 11 %]
|
||||
<span class="error">Output limit exceeded</span>
|
||||
[% ELSIF buildstatus == 12 %]
|
||||
<span class="error">Non-deterministic build</span>
|
||||
[% ELSE %]
|
||||
<span class="error">Aborted</span>
|
||||
(Hydra failure; see <a href="#nix-error">below</a>)
|
||||
|
Reference in New Issue
Block a user