Add the project name to declarative inputs
This allows for more generic declarative configurations which can be shared between projects.
This commit is contained in:
parent
a2717b3d7e
commit
9e018d5443
|
@ -435,7 +435,8 @@ evaluated will go through the steps above in reverse order:
|
||||||
2. Hydra will use the configuration given in the declarative spec file
|
2. Hydra will use the configuration given in the declarative spec file
|
||||||
as the jobset configuration for this evaluation. In addition to any
|
as the jobset configuration for this evaluation. In addition to any
|
||||||
inputs specified in the spec file, hydra will also pass the
|
inputs specified in the spec file, hydra will also pass the
|
||||||
`declInput` argument corresponding to the input fetched in step 1.
|
`declInput` argument corresponding to the input fetched in step 1 and
|
||||||
|
the `projectName` argument containing the project\'s name.
|
||||||
|
|
||||||
3. As normal, hydra will build the jobs specified in the jobset
|
3. As normal, hydra will build the jobs specified in the jobset
|
||||||
repository, which in this case is the single `jobsets` job. When
|
repository, which in this case is the single `jobsets` job. When
|
||||||
|
|
|
@ -565,7 +565,7 @@ sub checkJobsetWrapped {
|
||||||
if ($jobsetsJobset) {
|
if ($jobsetsJobset) {
|
||||||
my @declInputs = fetchInput($plugins, $db, $project, $jobset, "decl", $project->decltype, $project->declvalue, 0);
|
my @declInputs = fetchInput($plugins, $db, $project, $jobset, "decl", $project->decltype, $project->declvalue, 0);
|
||||||
my $declInput = @declInputs[0] or die "cannot find the input containing the declarative project specification\n";
|
my $declInput = @declInputs[0] or die "cannot find the input containing the declarative project specification\n";
|
||||||
die "multiple alternatives for the input containing the declarative project specificaiton are not supported\n"
|
die "multiple alternatives for the input containing the declarative project specification are not supported\n"
|
||||||
if scalar @declInputs != 1;
|
if scalar @declInputs != 1;
|
||||||
my $declFile = $declInput->{storePath} . "/" . $project->declfile;
|
my $declFile = $declInput->{storePath} . "/" . $project->declfile;
|
||||||
my $declText = read_file($declFile)
|
my $declText = read_file($declFile)
|
||||||
|
@ -599,6 +599,8 @@ sub checkJobsetWrapped {
|
||||||
updateDeclarativeJobset($db, $project, ".jobsets", $declSpec);
|
updateDeclarativeJobset($db, $project, ".jobsets", $declSpec);
|
||||||
$jobset->discard_changes;
|
$jobset->discard_changes;
|
||||||
$inputInfo->{"declInput"} = [ $declInput ];
|
$inputInfo->{"declInput"} = [ $declInput ];
|
||||||
|
$inputInfo ->{"projectName"} = [ { "value" => $project->name, } ];
|
||||||
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
die "Declarative specification file $declFile is not a dictionary"
|
die "Declarative specification file $declFile is not a dictionary"
|
||||||
|
|
Loading…
Reference in a new issue