* Some renaming.

[?]
Oct 26, 2009, 3:55 PM
TIOBBINAK6IEDTCFBP67QDP3U7BHPVJOHBD6FEHASSSIQGNLCUXAC

Dependencies

  • [2] SQQSV4NB * Top-level: don't exit on errors.
  • [3] 5MNUNZWR * Store meta.maintainers.
  • [4] IXCUNELF * Don't bother with the Jobs.active column anymore.
  • [5] ZP3M3JWR * Be a bit less aggressive in rescheduling builds that have already
  • [6] VJHIHMEH * Store the meta.longDescription and meta.license attributes in the
  • [7] L2E6EVE2 * Merged the Build and Job tables.
  • [8] GNIEG2GC * Disambiguate jobs by jobset name. I.e. jobs with the same name in
  • [9] H7CNGK4O * Log evaluation errors etc. in the DB.
  • [10] GCHNNFZP
  • [11] XNCWZ7OT * Get the job priority from the meta.schedulingPriority attribute.
  • [12] NI5BVF2V * In job inputs of type "build", allow the project and jobset names of
  • [13] 7YBYT2LQ
  • [14] 3E6IP3R3 * Add the name of the jobset to ReleaseSetJobs, otherwise we can't
  • [15] FDE3BJAP * Refactoring.
  • [16] BVOPAMLS
  • [17] S6OISBQ3 * Mark the "current" builds in a jobset, i.e. those corresponding to
  • [18] POPU2ATH * hydra_scheduler: use eval-jobs.
  • [19] CVDK3XJK * In the scheduler, don't check if we've already done a build (except
  • [20] S5PV6IIM * Represent jobs explicitly in the DB.
  • [21] M552HLIA * Support variant builds.
  • [22] BTOXLRG3 * Record the input containing the Nix expression (release.nix) in the
  • [23] X27GNHDV * Basic job info in the database.
  • [24] TULPZ62Y * Perform builds in parallel.
  • [25] LZO3C2KI * Hack around those SQLite timeouts: just retry the transaction.
  • [26] RI4S7SYT * Job status: show the active jobs.
  • [27] KOTB7BKV
  • [28] SHZLOM5M * eval-jobs -> hydra_eval_jobs.
  • [*] N22GPKYT * Put info about logs / build products in the DB.

Change contents

  • replacement in src/script/hydra_scheduler.pl at line 35
    [6.699][6.741:756](),[6.756][6.3478:3560]()
    sub checkJob {
    my ($project, $jobset, $inputInfo, $nixExprInput, $job, $currentBuilds) = @_;
    [6.699]
    [6.805]
    # Check whether to add the build described by $buildInfo.
    sub checkBuild {
    my ($project, $jobset, $inputInfo, $nixExprInput, $buildInfo, $currentBuilds) = @_;
  • replacement in src/script/hydra_scheduler.pl at line 39
    [6.806][6.808:878](),[6.878][6.1049:1084](),[6.1049][6.1049:1084]()
    my $jobName = $job->{jobName};
    my $drvPath = $job->{drvPath};
    my $outPath = $job->{outPath};
    [6.806]
    [6.1084]
    my $jobName = $buildInfo->{jobName};
    my $drvPath = $buildInfo->{drvPath};
    my $outPath = $buildInfo->{outPath};
  • replacement in src/script/hydra_scheduler.pl at line 44
    [6.24][6.879:977]()
    $priority = int($job->{schedulingPriority})
    if $job->{schedulingPriority} =~ /^\d+$/;
    [6.24]
    [6.224]
    $priority = int($buildInfo->{schedulingPriority})
    if $buildInfo->{schedulingPriority} =~ /^\d+$/;
  • replacement in src/script/hydra_scheduler.pl at line 49
    [4.135][6.5200:5255](),[6.5200][6.5200:5255]()
    my $jobInDB = $jobset->jobs->update_or_create(
    [4.135]
    [6.5255]
    my $job = $jobset->jobs->update_or_create(
  • replacement in src/script/hydra_scheduler.pl at line 54
    [6.5364][6.5364:5466]()
    $jobInDB->update({firstevaltime => time})
    unless defined $jobInDB->firstevaltime;
    [6.5364]
    [6.5466]
    $job->update({firstevaltime => time})
    unless defined $job->firstevaltime;
  • replacement in src/script/hydra_scheduler.pl at line 68
    [6.769][5.67:161]()
    my @previousBuilds = $jobInDB->builds->search({outPath => $outPath, isCurrent => 1});
    [6.769]
    [6.4099]
    my @previousBuilds = $job->builds->search({outPath => $outPath, isCurrent => 1});
  • replacement in src/script/hydra_scheduler.pl at line 76
    [6.9959][6.5628:5674]()
    my $build = $jobInDB->builds->create(
    [6.5627]
    [6.12279]
    my $build = $job->builds->create(
  • replacement in src/script/hydra_scheduler.pl at line 79
    [6.5566][6.978:1125](),[6.10276][6.978:1125](),[6.1125][6.4689:4732](),[6.4732][3.679:728](),[3.728][6.1125:1166](),[6.4732][6.1125:1166](),[6.1125][6.1125:1166]()
    , description => $job->{description}
    , longdescription => $job->{longDescription}
    , license => $job->{license}
    , homepage => $job->{homepage}
    , maintainers => $job->{maintainers}
    , nixname => $job->{nixName}
    [6.12341]
    [6.10318]
    , description => $buildInfo->{description}
    , longdescription => $buildInfo->{longDescription}
    , license => $buildInfo->{license}
    , homepage => $buildInfo->{homepage}
    , maintainers => $buildInfo->{maintainers}
    , nixname => $buildInfo->{nixName}
  • replacement in src/script/hydra_scheduler.pl at line 87
    [6.10386][6.10386:10425]()
    , system => $job->{system}
    [6.10386]
    [6.5006]
    , system => $buildInfo->{system}
  • replacement in src/script/hydra_scheduler.pl at line 105
    [6.143][6.1167:1210](),[6.12524][6.1167:1210]()
    foreach my $arg (@{$job->{arg}}) {
    [6.143]
    [6.144]
    foreach my $arg (@{$buildInfo->{arg}}) {
  • replacement in src/script/hydra_scheduler.pl at line 208
    [6.2965][6.5181:5268]()
    checkJob($project, $jobset, $inputInfo, $nixExprInput, $job, \%currentBuilds);
    [6.2965]
    [6.7080]
    checkBuild($project, $jobset, $inputInfo, $nixExprInput, $job, \%currentBuilds);
  • replacement in src/script/hydra_scheduler.pl at line 220
    [6.2042][6.6163:6214](),[6.6163][6.6163:6214](),[6.689][6.6367:6513]()
    foreach my $jobInDB ($jobset->jobs->all) {
    if ($failedJobNames{$jobInDB->name}) {
    $jobInDB->update({errormsg => join '\n', @{$failedJobNames{$jobInDB->name}}});
    [6.2042]
    [6.6513]
    foreach my $job ($jobset->jobs->all) {
    if ($failedJobNames{$job->name}) {
    $job->update({errormsg => join '\n', @{$failedJobNames{$job->name}}});
  • replacement in src/script/hydra_scheduler.pl at line 224
    [6.6534][6.6534:6589]()
    $jobInDB->update({errormsg => undef});
    [6.6534]
    [6.6589]
    $job->update({errormsg => undef});
  • replacement in src/script/hydra_scheduler.pl at line 276
    [6.9901][6.2502:2518]()
    sub checkJobs {
    [6.9901]
    [6.1752]
    sub checkProjects {
  • replacement in src/script/hydra_scheduler.pl at line 297
    [2.11][2.11:30]()
    checkJobs;
    [2.11]
    [2.30]
    checkProjects;