Die tabs die

[?]
Jan 22, 2013, 1:09 PM
CQTN62OHT4DY35E2MJEG7GFTVNEE5KRDMV6ASBQLBHN7BUDK7WHAC

Dependencies

  • [2] RBHHV7P7 * Read logs using logContents function in stead of handling it everywhere separately.
  • [3] 5Y3XOQBR Include the URL of the binary cache in .nixpkg files
  • [4] QMW24O5S Add support for Guile & Guix.
  • [5] EWRCO2ND Give Hydra binary caches a low priority
  • [6] ZE23JEJT Add a binary-cache-url file to channels to advertise the binary cache URL
  • [7] ON4DDIBZ * Forgot to commit.
  • [8] HQGXL4MX Add validation for project and jobset names
  • [9] BTUDUY6F * Provide some redirects to the latest successful build for a job (or
  • [10] D5ZR3ZY6 hydra: missing property
  • [11] 2UZJG6XT Clear nrSucceeded when restarting a build
  • [12] ODNCGFQ5 * Improved the navigation bar: don't include all projects (since that
  • [13] TM6XBAG2 git branches can share local clones
  • [14] U4TD3AIQ Add support for viewing jobset evaluations
  • [15] OOQ2D3KC * Refactoring: move fetchInput out of hydra_scheduler into a separate
  • [16] UMFB2767 Hydra/64: Leaving number of builds empty gives DBIx error
  • [17] P5XCKTFD Fix sysbuild input type handling
  • [18] OSVLMLCQ hydra: factored out build restart and
  • [19] T273UOB7 Support obtaining the contents of an evaluation as a channel
  • [20] GJFYEU3S * Nix now stores logs by default as bzip2, make sure the build page uncompresses before showing.
  • [21] K42RSSSI
  • [22] 6KJXJB7N qualify ordery_by clauses when necessary, remove unnecessary order_by's, reported by Ludo, resulted in errors in sqlite
  • [23] 777XFGVY Hydra/22: on job page, 'finished builds' shows nothing for old (non-current) jobs
  • [24] 6QRHXIM3 * Speed up the jobset index page. Especially the query to get the
  • [25] WAZFSDSL using backquote as argument resulted in only first line as first argument to removeAsciiEscapes
  • [26] XDDCO6CH * hydra: add dependency list with links to logfiles
  • [27] RXVJFQ5A Evaluator cleanups
  • [28] WRIU3S5E * UI for cloning builds (not functional yet).
  • [29] SAIUFDP3 hydra: make sure viewing logs works when logs are bz2'd
  • [30] 3XTHEUMP * Implemented the clone feature.
  • [31] HRAFVVOE make logo configurable via HYDRA_LOGO env var
  • [32] MGOGOKQP add tracker html code via HYDRA_TRACKER
  • [33] EFWN7JBV * Added a status page that shows all the currently executing build steps.
  • [34] SMCOU72F hydra: add some admin for adding/enabling/etc build machines
  • [35] MOX7XJ2E Merge the BuildSchedulingInfo table into the Builds table
  • [36] INNOEHO6 * Fix getBuildLog for bzip2'd files.
  • [37] MMDLWWZ2 automatic reload of tail log when build is running
  • [38] T7Z63K6T hydra: moves jobsetOverview sub
  • [39] ZI535LI6 * hydra: 'new' UI for project/jobset/job/build
  • [40] N45RZUQ6 Reduce I/O in build listings by only fetching required columns
  • [41] XE6HD7BP Provide the nix-cache-info file required by the binary cache substituter
  • [42] DE2DNCOI Allow comparing an evaluation with an arbitrary other evaluation
  • [43] SHYRGAWZ hydra: when no external url is given for diff's of git/hg input, revert to a diff done on a local available clone
  • [44] J7EE2XZA Fix a huge performance regression in the jobstatus page
  • [45] QS4OX6Z7 Huuuge speedup in the Hydra evaluator
  • [46] JARRBLZD Bootstrapify the Hydra forms (except the project and jobset edit pages)
  • [47] BKOIYITR added some json responses
  • [48] NHBGHO57 Set the Content-Type properly
  • [49] NP6QUCL7 * Fix indentation.
  • [50] NZI7E2E3 * hydra: handle case where logfile is empty
  • [51] HPEG2RHV Merge the BuildResultInfo table into the Builds table
  • [52] 2WRTOU2Z Cleanup
  • [*] FPK5LF53 * Put the project-related actions in a separate controller. Put the
  • [*] ZWCTAZGL added newsitems, added some admin options to clear various caches.
  • [*] LBNVQXUB * Build the /build stuff in a separate controller.
  • [*] DEMSSSB2 * Controller for jobs which inherits all actions in ListBuilds. So
  • [*] 3HZY24CX * Make jobsets viewable under
  • [*] J5UVLXOK * Start of a basic Catalyst web interface.
  • [*] 2GK5DOU7 * Downloading closures.

Change contents

  • replacement in src/lib/Hydra/Base/Controller/ListBuilds.pm at line 96
    [6.403][6.403:492]()
    {finished => 1, buildstatus => 0}, {order_by => ["isCurrent DESC", "timestamp DESC"]});
    [6.403]
    [6.282]
    {finished => 1, buildstatus => 0}, {order_by => ["isCurrent DESC", "timestamp DESC"]});
  • replacement in src/lib/Hydra/Base/Controller/ListBuilds.pm at line 111
    [6.544][6.544:652]()
    {finished => 1, buildstatus => 0, system => $system}, {order_by => ["isCurrent DESC", "timestamp DESC"]});
    [6.544]
    [6.918]
    {finished => 1, buildstatus => 0, system => $system}, {order_by => ["isCurrent DESC", "timestamp DESC"]});
  • replacement in src/lib/Hydra/Controller/API.pm at line 106
    [6.2633][6.2633:2701]()
    project => $jobset->project->name,
    name => $jobset->name,
    [6.2633]
    [6.2701]
    project => $jobset->project->name,
    name => $jobset->name,
  • replacement in src/lib/Hydra/Controller/API.pm at line 225
    [6.2479][6.2479:2598]()
    $diff .= `(cd $clonePath; hg log -r $rev1 -r $rev2 -b $branch)`;
    $diff .= `(cd $clonePath; hg diff -r $rev1:$rev2)`;
    [6.2479]
    [6.659]
    $diff .= `(cd $clonePath; hg log -r $rev1 -r $rev2 -b $branch)`;
    $diff .= `(cd $clonePath; hg diff -r $rev1:$rev2)`;
  • replacement in src/lib/Hydra/Controller/API.pm at line 230
    [6.788][6.2599:2702]()
    $diff .= `(cd $clonePath; git log $rev1..$rev2)`;
    $diff .= `(cd $clonePath; git diff $rev1..$rev2)`;
    [6.788]
    [6.893]
    $diff .= `(cd $clonePath; git log $rev1..$rev2)`;
    $diff .= `(cd $clonePath; git diff $rev1..$rev2)`;
  • replacement in src/lib/Hydra/Controller/Admin.pm at line 24
    [6.149][6.149:568]()
    if($machine->enabled) {
    $result = $result . $machine->username . '@'. $machine->hostname . ' ';
    foreach my $system ($machine->buildmachinesystemtypes) {
    $result = $result . $system->system .',';
    }
    chop $result;
    $result = $result . ' '. $machine->ssh_key . ' ' . $machine->maxconcurrent . ' '. $machine->speedfactor . ' ' . $machine->options . "\n";
    }
    [6.149]
    [6.568]
    if($machine->enabled) {
    $result = $result . $machine->username . '@'. $machine->hostname . ' ';
    foreach my $system ($machine->buildmachinesystemtypes) {
    $result = $result . $system->system .',';
    }
    chop $result;
    $result = $result . ' '. $machine->ssh_key . ' ' . $machine->maxconcurrent . ' '. $machine->speedfactor . ' ' . $machine->options . "\n";
    }
  • replacement in src/lib/Hydra/Controller/Admin.pm at line 287
    [6.3899][6.3899:3998](),[6.3998][6.342:349]()
    for my $s (@$systems) {
    $machine->buildmachinesystemtypes->create({ system => $s}) ;
    }
    [6.3899]
    [6.4012]
    for my $s (@$systems) {
    $machine->buildmachinesystemtypes->create({ system => $s}) ;
    }
  • replacement in src/lib/Hydra/Controller/Build.pm at line 63
    [6.3149][2.55:94]()
    my $logtext = logContents($path, 50);
    [6.3149]
    [6.35]
    my $logtext = logContents($path, 50);
  • replacement in src/lib/Hydra/Controller/Build.pm at line 143
    [6.44][6.44:123]()
    my $url = $c->request->uri->as_string;
    $url =~ s/tail-reload/tail/g;
    [6.44]
    [6.123]
    my $url = $c->request->uri->as_string;
    $url =~ s/tail-reload/tail/g;
  • replacement in src/lib/Hydra/Controller/Build.pm at line 314
    [6.744][6.744:937]()
    my $buildStep;
    ($buildStep) = $c->model('DB::BuildSteps')->search({ outpath => $p }, {}) ;
    my %dep = ( buildstep => $buildStep, path => $p ) ;
    push(@buildtimedeps, \%dep);
    [6.744]
    [6.937]
    my $buildStep;
    ($buildStep) = $c->model('DB::BuildSteps')->search({ outpath => $p }, {}) ;
    my %dep = ( buildstep => $buildStep, path => $p ) ;
    push(@buildtimedeps, \%dep);
  • replacement in src/lib/Hydra/Controller/Build.pm at line 321
    [6.980][6.980:1171]()
    my $buildStep;
    ($buildStep) = $c->model('DB::BuildSteps')->search({ outpath => $p }, {}) ;
    my %dep = ( buildstep => $buildStep, path => $p ) ;
    push(@runtimedeps, \%dep);
    [6.980]
    [6.1171]
    my $buildStep;
    ($buildStep) = $c->model('DB::BuildSteps')->search({ outpath => $p }, {}) ;
    my %dep = ( buildstep => $buildStep, path => $p ) ;
    push(@runtimedeps, \%dep);
  • replacement in src/lib/Hydra/Controller/Build.pm at line 469
    [4.191][4.191:259]()
    $c->request->params->{"nixexprpath"} =~ /.scm$/ ? "guile" : "nix";
    [4.191]
    [4.259]
    $c->request->params->{"nixexprpath"} =~ /.scm$/ ? "guile" : "nix";
  • replacement in src/lib/Hydra/Controller/Job.pm at line 31
    [6.770][6.770:826](),[6.826][6.182:268]()
    [ $c->stash->{job}->builds->search({ finished => 1 },
    { order_by => 'timestamp DESC', rows => 10, columns => [@buildListColumns] }) ];
    [6.770]
    [6.328]
    [ $c->stash->{job}->builds->search({ finished => 1 },
    { order_by => 'timestamp DESC', rows => 10, columns => [@buildListColumns] }) ];
  • replacement in src/lib/Hydra/Controller/Job.pm at line 35
    [6.1680][6.1680:1813]()
    $c->stash->{job}->builds->search(
    { busy => 1 },
    { join => ['project']
    , order_by => ["priority DESC", "timestamp"]
    [6.1680]
    [6.1813]
    $c->stash->{job}->builds->search(
    { busy => 1 },
    { join => ['project']
    , order_by => ["priority DESC", "timestamp"]
  • replacement in src/lib/Hydra/Controller/Job.pm at line 40
    [6.1860][6.1860:1904]()
    , '+as' => ['enabled']
    }
    ) ];
    [6.1860]
    [6.842]
    , '+as' => ['enabled']
    }
    ) ];
  • replacement in src/lib/Hydra/Controller/Jobset.pm at line 60
    [6.229][6.229:267]()
    push(@systems, $system->system);
    [6.229]
    [6.267]
    push(@systems, $system->system);
  • replacement in src/lib/Hydra/Controller/Jobset.pm at line 77
    [6.1753][6.1753:1858]()
    , select => \@select
    , as => \@as
    , order_by => ["job"]
    })];
    [6.1753]
    [6.1858]
    , select => \@select
    , as => \@as
    , order_by => ["job"]
    })];
  • replacement in src/lib/Hydra/Controller/Jobset.pm at line 229
    [4.475][4.475:543]()
    $c->request->params->{"nixexprpath"} =~ /.scm$/ ? "guile" : "nix";
    [4.475]
    [4.543]
    $c->request->params->{"nixexprpath"} =~ /.scm$/ ? "guile" : "nix";
  • replacement in src/lib/Hydra/Controller/JobsetEval.pm at line 14
    [6.1618][6.1618:1673]()
    or notFound($c, "Evaluation $evalId doesn't exist.");
    [6.1618]
    [6.1673]
    or notFound($c, "Evaluation $evalId doesn't exist.");
  • replacement in src/lib/Hydra/Controller/Project.pm at line 150
    [4.564][4.564:632]()
    $c->request->params->{"nixexprpath"} =~ /.scm$/ ? "guile" : "nix";
    [4.564]
    [6.1274]
    $c->request->params->{"nixexprpath"} =~ /.scm$/ ? "guile" : "nix";
  • replacement in src/lib/Hydra/Controller/Root.pm at line 26
    [6.54][6.2468:2668]()
    $c->stash->{nrRunningBuilds} = $c->model('DB::Builds')->search({ finished => 0, busy => 1 }, {})->count();
    $c->stash->{nrQueuedBuilds} = $c->model('DB::Builds')->search({ finished => 0 })->count();
    [6.54]
    [6.368]
    $c->stash->{nrRunningBuilds} = $c->model('DB::Builds')->search({ finished => 0, busy => 1 }, {})->count();
    $c->stash->{nrQueuedBuilds} = $c->model('DB::Builds')->search({ finished => 0 })->count();
  • replacement in src/lib/Hydra/Controller/Root.pm at line 205
    [6.230][5.0:24]()
    "WantMassQuery: 0\n" .
    [6.230]
    [5.24]
    "WantMassQuery: 0\n" .
  • replacement in src/lib/Hydra/Controller/Root.pm at line 208
    [5.157][5.157:176]()
    "Priority: 100\n"
    [5.157]
    [6.252]
    "Priority: 100\n"
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 640
    [6.360][6.861:904](),[6.861][6.861:904]()
    $input->{type} = $type if defined $input;
    [6.360]
    [6.904]
    $input->{type} = $type if defined $input;
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 651
    [4.740][4.740:863]()
    if ($value eq "true") {
    $result = "#t";
    } else {
    $result = "#f";
    }
    $result = $value;
    [4.740]
    [4.863]
    if ($value eq "true") {
    $result = "#t";
    } else {
    $result = "#f";
    }
    $result = $value;
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 658
    [4.876][4.876:899]()
    $result = $value;
    [4.876]
    [4.899]
    $result = $value;
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 667
    [4.1032][4.1032:1552]()
    $result = "'((file-name . \"" . ${input}->{storePath} . "\")" .
    (defined $input->{revision} ? "(revision . \"" . $input->{revision} . "\")" : "") .
    (defined $input->{revCount} ? "(revision-count . " . $input->{revCount} . ")" : "") .
    (defined $input->{gitTag} ? "(git-tag . \"" . $input->{gitTag} . "\")" : "") .
    (defined $input->{shortRev} ? "(short-revision . \"" . $input->{shortRev} . "\")" : "") .
    (defined $input->{version} ? "(version . \"" . $input->{version} . "\")" : "") .
    ")";
    [4.1032]
    [4.1552]
    $result = "'((file-name . \"" . ${input}->{storePath} . "\")" .
    (defined $input->{revision} ? "(revision . \"" . $input->{revision} . "\")" : "") .
    (defined $input->{revCount} ? "(revision-count . " . $input->{revCount} . ")" : "") .
    (defined $input->{gitTag} ? "(git-tag . \"" . $input->{gitTag} . "\")" : "") .
    (defined $input->{shortRev} ? "(short-revision . \"" . $input->{shortRev} . "\")" : "") .
    (defined $input->{version} ? "(version . \"" . $input->{version} . "\")" : "") .
    ")";
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 675
    [4.1565][4.1565:2077]()
    $result = "{ outPath = builtins.storePath " . $input->{storePath} . "" .
    (defined $input->{revision} ? "; rev = \"" . $input->{revision} . "\"" : "") .
    (defined $input->{revCount} ? "; revCount = " . $input->{revCount} . "" : "") .
    (defined $input->{gitTag} ? "; gitTag = \"" . $input->{gitTag} . "\"" : "") .
    (defined $input->{shortRev} ? "; shortRev = \"" . $input->{shortRev} . "\"" : "") .
    (defined $input->{version} ? "; version = \"" . $input->{version} . "\"" : "") .
    ";}";
    [4.1565]
    [4.2077]
    $result = "{ outPath = builtins.storePath " . $input->{storePath} . "" .
    (defined $input->{revision} ? "; rev = \"" . $input->{revision} . "\"" : "") .
    (defined $input->{revCount} ? "; revCount = " . $input->{revCount} . "" : "") .
    (defined $input->{gitTag} ? "; gitTag = \"" . $input->{gitTag} . "\"" : "") .
    (defined $input->{shortRev} ? "; shortRev = \"" . $input->{shortRev} . "\"" : "") .
    (defined $input->{version} ? "; version = \"" . $input->{version} . "\"" : "") .
    ";}";
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 901
    [6.57][6.57:255](),[6.255][6.479:577](),[6.577][6.354:391](),[6.354][6.354:391]()
    # The "project" and "jobset" constraints are
    # semantically unnecessary (because they're implied by
    # the eval), but they give a factor 1000 speedup on
    # the Nixpkgs jobset with PostgreSQL.
    { project => $project->name, jobset => $jobset->name, job => $job->name, outPath => $outPath },
    { rows => 1, columns => ['id'] });
    [6.57]
    [6.663]
    # The "project" and "jobset" constraints are
    # semantically unnecessary (because they're implied by
    # the eval), but they give a factor 1000 speedup on
    # the Nixpkgs jobset with PostgreSQL.
    { project => $project->name, jobset => $jobset->name, job => $job->name, outPath => $outPath },
    { rows => 1, columns => ['id'] });
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 956
    [6.5872][6.1419:1504]()
    , priority => $priority
    , busy => 0
    , locker => ""
    , %extraFlags
    [6.5872]
    [6.5872]
    , priority => $priority
    , busy => 0
    , locker => ""
    , %extraFlags
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 1016
    [6.530][6.3069:3112]()
    $paths = $paths . " " . $bs->outpath;
    [6.530]
    [6.578]
    $paths = $paths . " " . $bs->outpath;
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 1022
    [6.3137][6.3137:3183]()
    { finished => 0
    , timestamp => time
    [6.3137]
    [6.913]
    { finished => 0
    , timestamp => time
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 1026
    [6.964][6.3184:3193]()
    });
    [6.964]
    [6.85]
    });
  • replacement in src/lib/Hydra/Helper/Nix.pm at line 175
    [6.800][6.3925:3991]()
    , "+as" => ["nrscheduled", "nrfailed", "nrsucceeded", "nrtotal"]
    [6.800]
    [6.3991]
    , "+as" => ["nrscheduled", "nrfailed", "nrsucceeded", "nrtotal"]
  • replacement in src/lib/Hydra/View/NixPkg.pm at line 16
    [3.56][3.56:83]()
    . " " . $c->uri_for('/');
    [3.56]
    [6.384]
    . " " . $c->uri_for('/');