forked from lix-project/hydra
Fix non-static declarative jobsets
With the current implementation, if ANY hash was found inside the decl spec, the spec would be treated as static. This is problematic since `inputs` is a hash and hence any configuration would be handled as a static one. This fixes the code to match the documentation and only switch to static processing when ALL values are hashes.
This commit is contained in:
parent
b5d7ed2e99
commit
24acb9d6bb
|
@ -573,7 +573,14 @@ sub checkJobsetWrapped {
|
|||
die "Declarative specification file $declFile not valid JSON: $@\n" if $@;
|
||||
|
||||
if (ref $declSpec eq "HASH") {
|
||||
if (grep ref $_ eq "HASH", values %$declSpec) {
|
||||
my $isStatic = 1;
|
||||
foreach my $elem (values %$declSpec) {
|
||||
if (ref $elem ne "HASH") {
|
||||
$isStatic = 0;
|
||||
last;
|
||||
}
|
||||
}
|
||||
if ($isStatic) {
|
||||
# Since all of its keys are hashes, assume the json document
|
||||
# itself is the entire set of jobs
|
||||
handleDeclarativeJobsetJson($db, $project, $declSpec);
|
||||
|
|
Loading…
Reference in a new issue