* Added a status page that shows all the currently executing build steps.
[?]
Aug 31, 2010, 3:27 PM
EFWN7JBV7YIHNMCA6ZGFRSHZIUQJ2EX57SWYGVT7ZRJCHPIM2R3QCDependencies
- [2]
6FRLEP4Pfirst try for timeline of last 24 hours in hydra - [3]
ZWCTAZGLadded newsitems, added some admin options to clear various caches. - [4]
GAIBDEZZ* Store the name of the machine that performed a build step in the - [5]
YTZOC7C5* Editing of jobset inputs. - [6]
3ZCEPLNO - [7]
R5D7DZPE - [8]
AHTEIK7G* Added a maintainers field to the Builds table. - [9]
VHYWSRIS* Add nix version to footer of hydra pages - [10]
TLZ2SPBR - [11]
PBFZEQLZ - [12]
EYNG4EL4* Regenerate the bindings from a clean sqlite database. - [13]
ECBA3GQO* Make the schema class names match the case of the SQL table names. - [14]
BHZXGT2H* Channels: provide an index page that lists all the packages in the - [15]
GNIEG2GC* Disambiguate jobs by jobset name. I.e. jobs with the same name in - [16]
V4RNHJNR* Add a link to each project's homepage. Suggested by karltk. - [17]
TWVSALRL* Allow the maximum number of concurrent builds per platform to be - [18]
JTRG7RDQadd support for git as jobinput - [19]
37R34XJO* Negative caching: don't perform a build if a dependency already - [20]
6BLUKEQ2* Caching of "path" inputs, and fake a revision number for those. - [21]
KN3VYE5P* Cleaned up the foreign key constraints. - [22]
ZVTSOVHN* Support Subversion checkouts. - [23]
UAPS46BQ - [24]
B72GLND4 - [25]
H7CNGK4O* Log evaluation errors etc. in the DB. - [26]
JLDUSNUO* Unify rendering of finished and scheduled builds. - [27]
OD5FSS5A* Quick hack to allow viewing of dependency graphs (via nix-store -q - [28]
4D4U5IPY* Allow jobsets to be disabled. - [29]
HK32XC42 - [30]
CLJQCY2X* Store info about all the build actions and allow them to be - [31]
BD3GRK4B* Get rid of "positive failures" and separate log phases. - [32]
YAPITGB3* Boolean inputs. - [33]
KOTB7BKV - [34]
S6OISBQ3* Mark the "current" builds in a jobset, i.e. those corresponding to - [35]
P5X4P6VK* Renaming "release sets" to "views" (not finished yet). Having - [36]
TQKGQ5R3 - [37]
D3DIBMOK* For products that are directories (like manuals), allow a default - [38]
J5UVLXOK* Start of a basic Catalyst web interface. - [39]
FHF6IZJQ* Basic release management: releases are now dynamically computed as - [40]
LBNVQXUB* Build the /build stuff in a separate controller. - [41]
LCKWLQW3* In Sqlite "release" is now a keyword, so use "release_" instead. - [42]
CMU3YKOU* Store the release name. - [43]
SHBLLAVH* More global substitution. - [44]
S66BOMVU* Added authentication. - [45]
ODNCGFQ5* Improved the navigation bar: don't include all projects (since that - [46]
IK53RV4V - [47]
3E6IP3R3* Add the name of the jobset to ReleaseSetJobs, otherwise we can't - [48]
JM3DPYOMgenerated schema with new dbix class schema loader, grrrrrr - [49]
T2232OBS* Add some DB indices to make the /releases page much faster. - [50]
KSVD6RAP* hydra: queue stats (nr running builds / nr queued builds) - [51]
S5PV6IIM* Represent jobs explicitly in the DB. - [52]
VJHIHMEH* Store the meta.longDescription and meta.license attributes in the - [53]
RBNQKATL* Adding persistant releases. A release is a named set of builds. - [54]
3HCBU2FA - [55]
RU7AQO7U* Role-based access control. Only admins can create projects. Only - [*]
JFZNAYJX* Showing releases. - [*]
5IK6NYKF - [*]
FPK5LF53* Put the project-related actions in a separate controller. Put the - [*]
ELABMHJI* hydra: layout changes - [*]
D5QIOJGP* Move everything up one directory. - [*]
7YBYT2LQ - [*]
N22GPKYT* Put info about logs / build products in the DB.
Change contents
- edit in src/lib/Hydra/Controller/Build.pm at line 38
$c->stash->{curTime} = time; - replacement in src/lib/Hydra/Controller/Root.pm at line 15
my ($self, $c) = @_;my ($self, $c, @args) = @_; - replacement in src/lib/Hydra/Controller/Root.pm at line 18
$c->stash->{nixVersion} = $ENV{"NIX_RELEASE"} || "<devel>";$c->stash->{nrRunningBuilds} = $c->model('DB::BuildSchedulingInfo')->search({ busy => 1 }, {})->count();$c->stash->{nrQueuedBuilds} = $c->model('DB::BuildSchedulingInfo')->count();$c->stash->{nixVersion} = $ENV{"NIX_RELEASE"} || "<devel>";$c->stash->{curTime} = time;if (scalar(@args) && $args[0] ne "static") {$c->stash->{nrRunningBuilds} = $c->model('DB::BuildSchedulingInfo')->search({ busy => 1 }, {})->count();$c->stash->{nrQueuedBuilds} = $c->model('DB::BuildSchedulingInfo')->count();} - edit in src/lib/Hydra/Controller/Root.pm at line 78
- edit in src/lib/Hydra/Controller/Root.pm at line 95
- edit in src/lib/Hydra/Controller/Root.pm at line 97
sub status :Local {my ($self, $c) = @_;$c->stash->{steps} = [ $c->model('DB::BuildSteps')->search({ 'me.busy' => 1, 'schedulingInfo.busy' => 1 },{ join => [ 'schedulingInfo' ], order_by => [ 'machine', 'outpath' ]} ) ];} - edit in src/lib/Hydra/Schema/BuildSteps.pm at line 105
size: undef=head2 systemdata_type: textdefault_value: undefis_nullable: 1 - edit in src/lib/Hydra/Schema/BuildSteps.pm at line 197
"system",{data_type => "text",default_value => undef,is_nullable => 1,size => undef,}, - replacement in src/lib/Hydra/Schema/BuildSteps.pm at line 220
# Created by DBIx::Class::Schema::Loader v0.05000 @ 2010-08-31 15:40:29# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:CC/XBHMiRLuQSI+nEFW50g# Created by DBIx::Class::Schema::Loader v0.05000 @ 2010-08-31 17:19:01# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:BU1na1One0SzUwilm7YmQQ__PACKAGE__->belongs_to("schedulingInfo","Hydra::Schema::BuildSchedulingInfo",{ id => "build" },); - edit in src/root/static/css/hydra.css at line 56
- edit in src/root/static/css/hydra.css at line 61
td.right {text-align: right;} - edit in src/root/static/css/hydra.css at line 65
- file addition: status.tt[61.1486]
[% WRAPPER layout.tt title="Hydra status" %][% PROCESS common.tt %]<h1>Hydra Status</h1><table class="tablesorter"><thead><tr><th>Machine</th><th>Type</th><th>Build</th><th>Step</th><th>What</th><th>Since</th></tr></thead><tbody>[% FOREACH step IN steps %]<tr><td><tt>[% IF step.machine; step.machine.match('@(.*)').0; ELSE; 'localhost'; END %]</tt></td><td><tt>[% step.system %]</tt></td><td><a href="[% c.uri_for('/build' step.build.id) %]">[% step.build.id %]</a></td><td><a href="[% c.uri_for('/build' step.build.id 'nixlog' step.stepnr) %]">[% step.stepnr %]</a></td><td><tt>[% step.outpath.match('-(.*)').0 %]</tt></td><td class='right'>[% INCLUDE renderDuration duration = curTime - step.starttime %] </td></tr>[% END %]</tbody></table>[% END %] - edit in src/script/hydra_build.pl at line 267
, system => $3 - edit in src/sql/hydra.sql at line 239
system text,