Let Builds.timestamp refer to the time the build was added

[?]
May 23, 2013, 2:45 PM
R6B5CAFF3BWJPW6I5YGKXOKKCW6S7D7AHO2HLZVFUW3NL77ZW44QC

Dependencies

  • [2] CFQCNNDR use build timestamp as last-modified header on download
  • [3] YLMZLL2U Fix a reference to BuildResultInfo
  • [4] CAFO4ATE Always show the build duration (using the cached build if necessary)
  • [5] 5NSQUYBS Clear failed builds etc.: Redirect back to the referrer
  • [6] XJRJ4J7M Add user registration
  • [7] YTIDBFGU Drop unused "disabled" columns
  • [8] MNZ67UXO If a build step fail, immediately fail all queued builds that depend on it
  • [9] PPJN6SDP * paging for releases page
  • [10] QL55ECJ6 - adapted ui for hydra, more in line with nixos.org website
  • [11] PMNWRTGJ Add multiple output support
  • [12] FPK5LF53 * Put the project-related actions in a separate controller. Put the
  • [13] R5D7DZPE
  • [14] 36M6DGIT Show the runtime/build dependencies in the build page
  • [15] ZILILXXK * Allow scheduled builds to be cancelled. They're not removed from
  • [16] UVNQPK3T Hydra/56: handle failed builds with result only at build level, not buildsteps
  • [17] B7IDAXTZ Admin controller: Use PathPart, not Path
  • [18] RAKTHYAI * In the job status and error pages, show when the status of a job
  • [19] 6KIJX24R Get rid of unnecessary [%- and -%] tags
  • [20] QZLMDKMU * Queue runner: don't start scheduled builds builds if they belong to
  • [21] XJFHFZCA * Provide some redirects to build products by type so that we can for
  • [22] E5DMQRPO Remove unnecessary whitespace in the HTML output
  • [23] N45RZUQ6 Reduce I/O in build listings by only fetching required columns
  • [24] ID5DHUFU * Cleanup.
  • [25] PZL3SZM3 Give every page a consistent title
  • [26] DQD7JMSU * Fix the terminology.
  • [27] 3PNG7NIB Remove trailing whitespace
  • [28] GNIEG2GC * Disambiguate jobs by jobset name. I.e. jobs with the same name in
  • [29] UWVMQIAC * Refactoring.
  • [30] XBU2ODSP * More renaming.
  • [31] CS7T2XFI
  • [32] 2GUAKGTB Fix indentation of build.tt
  • [33] 2QISRMJK Job page: show queued as well as running builds
  • [34] D3DIBMOK * For products that are directories (like manuals), allow a default
  • [35] MOX7XJ2E Merge the BuildSchedulingInfo table into the Builds table
  • [36] FEMR2C5W
  • [37] 777XFGVY Hydra/22: on job page, 'finished builds' shows nothing for old (non-current) jobs
  • [38] J7EE2XZA Fix a huge performance regression in the jobstatus page
  • [39] X27GNHDV * Basic job info in the database.
  • [40] 3ZCEPLNO
  • [41] T2232OBS * Add some DB indices to make the /releases page much faster.
  • [42] ZNGKTEAI If a build aborts, mark any remaining active build steps as aborted
  • [43] KPZNJ33U * In views, support selecting a job that doesn't depend on the
  • [44] OSVLMLCQ hydra: factored out build restart and
  • [45] HPEG2RHV Merge the BuildResultInfo table into the Builds table
  • [46] JARRBLZD Bootstrapify the Hydra forms (except the project and jobset edit pages)
  • [47] BIVZGPUT Optimise clickable rows
  • [48] M6WGSGNM Don't show duration of unfinished builds
  • [49] 67NFGL7D add links in admin page to clear queue (all non-running builds, and all non-running old (non-current) builds)
  • [50] DEMSSSB2 * Controller for jobs which inherits all actions in ListBuilds. So
  • [51] BTUDUY6F * Provide some redirects to the latest successful build for a job (or
  • [52] 7YBYT2LQ
  • [53] 3HZY24CX * Make jobsets viewable under
  • [54] JLDUSNUO * Unify rendering of finished and scheduled builds.
  • [55] 2AIIYGI5 * Show job status and all builds for a project.
  • [56] 5NO7NCKT * Refactoring.
  • [57] WRIU3S5E * UI for cloning builds (not functional yet).
  • [58] L2E6EVE2 * Merged the Build and Job tables.
  • [59] S66BOMVU * Added authentication.
  • [60] E6IC7YIK * Release sets: need to include the jobset name to disambiguate
  • [61] NUIKDEHL * A quick hack to list the contents of various types of files (RPM,
  • [62] LBNVQXUB * Build the /build stuff in a separate controller.
  • [63] QMPX3JDF * hydra: show queue optimization
  • [64] XHK7IGYI * hdyra: show last succeeded build and changes since on build status summary if build has failed
  • [65] NREF6YOA * Don't start more builds concurrently than allowed for each system
  • [66] BKOIYITR added some json responses
  • [67] YTSIRIMK * Separate job status and all builds pages.
  • [68] YS3AVMLC Remove buildtime and runtime dependency graph. It is useless on normal derivations.
  • [69] CQTN62OH Die tabs die
  • [70] 4WZQW2N6 Fix indentation and get rid of some unnecessary whitespace in the output
  • [71] JGLE5BRN Add separate build step status codes for cached failures and timeouts
  • [72] SJN2QPWH * Big speed-up of the job status page and the channel generation (such
  • [73] RXSEJG7W Do not delete builds when clearing the queue. Fixes #8.
  • [*] ZWCTAZGL added newsitems, added some admin options to clear various caches.
  • [*] J5UVLXOK * Start of a basic Catalyst web interface.
  • [*] OOQ2D3KC * Refactoring: move fetchInput out of hydra_scheduler into a separate
  • [*] 2GK5DOU7 * Downloading closures.
  • [*] IK53RV4V
  • [*] N22GPKYT * Put info about logs / build products in the DB.

Change contents

  • replacement in src/lib/Hydra/Base/Controller/ListBuilds.pm at line 69
    [9.141][9.312:351]()
    { order_by => "timestamp DESC"
    [9.141]
    [9.0]
    { order_by => "stoptime DESC"
  • replacement in src/lib/Hydra/Base/Controller/ListBuilds.pm at line 100
    [9.403][9.0:96]()
    {finished => 1, buildstatus => 0}, {order_by => ["isCurrent DESC", "timestamp DESC"]});
    [9.403]
    [9.282]
    {finished => 1, buildstatus => 0}, {order_by => ["id DESC"]});
  • replacement in src/lib/Hydra/Base/Controller/ListBuilds.pm at line 115
    [9.544][9.97:212]()
    {finished => 1, buildstatus => 0, system => $system}, {order_by => ["isCurrent DESC", "timestamp DESC"]});
    [9.544]
    [9.918]
    {finished => 1, buildstatus => 0, system => $system}, {order_by => ["id DESC"]});
  • replacement in src/lib/Hydra/Controller/API.pm at line 93
    [9.1178][9.1144:1251](),[9.2216][9.1144:1251]()
    my @latest = $c->model('DB::Builds')->search($filter, {rows => $nr, order_by => ["timestamp DESC"] });
    [9.1178]
    [9.1179]
    my @latest = $c->model('DB::Builds')->search($filter, {rows => $nr, order_by => ["id DESC"] });
  • replacement in src/lib/Hydra/Controller/API.pm at line 145
    [9.3740][9.0:139]()
    my @builds = $c->model('DB::Builds')->search({finished => 0}, {rows => $nr, order_by => ["busy DESC", "priority DESC", "timestamp"]});
    [9.3740]
    [9.1356]
    my @builds = $c->model('DB::Builds')->search({finished => 0}, {rows => $nr, order_by => ["busy DESC", "priority DESC", "id"]});
  • replacement in src/lib/Hydra/Controller/Admin.pm at line 37
    [9.117][9.0:144]()
    $c->model('DB::Builds')->search({finished => 0, iscurrent => 0, busy => 0})->update({ finished => 1, buildstatus => 4, timestamp => time});
    [9.117]
    [5.0]
    my $time = time();
    $c->model('DB::Builds')->search({finished => 0, iscurrent => 0, busy => 0})->update({ finished => 1, buildstatus => 4, starttime => $time, stoptime => $time });
  • replacement in src/lib/Hydra/Controller/Build.pm at line 219
    [9.3293][2.0:73]()
    $c->response->headers->last_modified($c->stash->{build}->timestamp);
    [9.3293]
    [9.774]
    $c->response->headers->last_modified($c->stash->{build}->stoptime);
  • edit in src/lib/Hydra/Controller/Build.pm at line 426
    [9.954]
    [3.0]
    my $time = time();
  • replacement in src/lib/Hydra/Controller/Build.pm at line 428
    [3.24][3.24:82]()
    { finished => 1, busy => 0, timestamp => time
    [3.24]
    [3.82]
    { finished => 1, busy => 0
  • edit in src/lib/Hydra/Controller/Build.pm at line 430
    [3.147]
    [9.1202]
    , starttime => $time
    , stoptime => $time
  • replacement in src/lib/Hydra/Controller/Job.pm at line 28
    [9.1889][9.1794:1887](),[9.1794][9.1794:1887]()
    { order_by => 'timestamp DESC', rows => 10, columns => [@buildListColumns] }) ];
    [9.1889]
    [9.328]
    { order_by => 'id DESC', rows => 10, columns => [@buildListColumns] }) ];
  • replacement in src/lib/Hydra/Controller/Job.pm at line 34
    [9.1992][9.1992:2049]()
    , order_by => ["priority DESC", "timestamp"]
    [9.1992]
    [9.1813]
    , order_by => ["priority DESC", "id"]
  • replacement in src/lib/Hydra/Controller/Root.pm at line 46
    [9.200][9.362:546]()
    {finished => 0}, { join => ['project'], order_by => ["priority DESC", "timestamp"], columns => [@buildListColumns], '+select' => ['project.enabled'], '+as' => ['enabled'] })];
    [9.200]
    [6.197]
    {finished => 0}, { join => ['project'], order_by => ["priority DESC", "id"], columns => [@buildListColumns], '+select' => ['project.enabled'], '+as' => ['enabled'] })];
  • edit in src/lib/Hydra/Helper/AddBuilds.pm at line 1042
    [9.4744][9.4744:4776]()
    , timestamp => time
  • replacement in src/lib/Hydra/Helper/CatalystUtils.pm at line 31
    [9.634][9.634:800]()
    Readonly our @buildListColumns => ('id', 'finished', 'timestamp', 'project', 'jobset', 'job', 'nixname', 'system', 'priority', 'busy', 'buildstatus', 'releasename');
    [9.634]
    [9.3595]
    Readonly our @buildListColumns => ('id', 'finished', 'timestamp', 'stoptime', 'project', 'jobset', 'job', 'nixname', 'system', 'priority', 'busy', 'buildstatus', 'releasename');
  • replacement in src/lib/Hydra/Helper/Nix.pm at line 103
    [9.660][9.5187:5226]()
    { order_by => "timestamp DESC"
    [9.660]
    [9.847]
    { order_by => "id DESC"
  • replacement in src/lib/Hydra/Helper/Nix.pm at line 156
    [9.5272][9.197:248](),[9.197][9.197:248]()
    , order_by => ["buildstatus", "timestamp"]
    [9.5272]
    [9.248]
    , order_by => ["buildstatus", "id"]
  • replacement in src/root/all.tt at line 7
    [9.1128][9.11269:11432]()
    <p>Showing builds [% (page - 1) * resultsPerPage + 1 %] - [% (page - 1) * resultsPerPage + builds.size %] out of [% total %] in order of descending timestamp.</p>
    [9.1107]
    [9.1297]
    <p>Showing builds [% (page - 1) * resultsPerPage + 1 %] - [% (page - 1) * resultsPerPage + builds.size %] out of [% total %] in order of descending finish time.</p>
  • replacement in src/root/build.tt at line 153
    [4.128][4.128:329]()
    INCLUDE renderDuration duration = actualBuild.stoptime - actualBuild.starttime %]; finished at [% INCLUDE renderDateTime timestamp = actualBuild.stoptime
    %]</td>
    [4.128]
    [4.329]
    INCLUDE renderDuration duration = actualBuild.stoptime - actualBuild.starttime %];
    finished at [% INCLUDE renderDateTime timestamp = actualBuild.stoptime %]</td>
  • replacement in src/root/build.tt at line 300
    [9.9539][9.9539:9568]()
    <th>Time added:</th>
    [9.9539]
    [9.9568]
    <th>Queued:</th>
  • replacement in src/root/build.tt at line 303
    [9.9654][9.9654:9710]()
    [% IF build.finished && build.buildstatus != 4 %]
    [9.9654]
    [9.9710]
    [% IF build.finished && !build.iscachedbuild %]
  • replacement in src/root/build.tt at line 306
    [9.9757][9.9757:9899]()
    <td>[% IF build.starttime %][% INCLUDE renderDateTime timestamp = build.starttime %][% ELSE %]<em>(cached build)</em>[% END %]</td>
    [9.9757]
    [9.9899]
    <td>[% INCLUDE renderDateTime timestamp = build.starttime %]</td>
  • replacement in src/root/build.tt at line 310
    [9.9961][9.9961:10101]()
    <td>[% IF build.stoptime %][% INCLUDE renderDateTime timestamp = build.stoptime %][% ELSE %]<em>(cached build)</em>[% END %]</td>
    [9.9961]
    [9.10101]
    <td>[% INCLUDE renderDateTime timestamp = build.stoptime %]</td>
  • replacement in src/root/common.tt at line 83
    [9.1032][9.1032:1059]()
    <th>Timestamp</th>
    [9.1032]
    [9.1425]
    <th>[% IF showSchedulingInfo %]Queued at[% ELSE %]Finished at[% END %]</th>
  • replacement in src/root/common.tt at line 116
    [9.2648][9.2648:2719]()
    <td>[% date.format(build.timestamp, '%Y-%m-%d %H:%M:%S') %]</td>
    [9.2648]
    [9.2719]
    <td>[% date.format(showSchedulingInfo ? build.timestamp : build.stoptime, '%Y-%m-%d %H:%M:%S') %]</td>
  • edit in src/script/hydra-build at line 57
    [8.855][8.855:923]()
    , timestamp => time # !!! Why change the timestamp?
  • edit in src/script/hydra-build at line 309
    [9.10827][9.10827:10891]()
    , timestamp => time # !!! Why change the timestamp?
  • replacement in src/script/hydra-queue-runner at line 103
    [7.494][9.7208:7291](),[9.703][9.7208:7291]()
    { join => ['project'], order_by => ["priority DESC", "timestamp"],
    [7.494]
    [9.1248]
    { join => ['project'], order_by => ["priority DESC", "id"],
  • replacement in src/sql/hydra.sql at line 125
    [9.37614][9.9050:9139](),[9.9050][9.9050:9139]()
    timestamp integer not null, -- time this build was scheduled / finished building
    [9.37614]
    [9.4219]
    timestamp integer not null, -- time this build was added
  • replacement in src/sql/hydra.sql at line 161
    [9.37616][9.2515:2570](),[9.2515][9.2515:2570](),[9.2570][9.11082:11109]()
    startTime integer, -- if busy, time we started
    stopTime integer,
    [9.37616]
    [9.9861]
    startTime integer, -- if busy/finished, time we started
    stopTime integer, -- if finished, time we finished