Remove the logfile and logSize columns from the database
[?]
Jan 22, 2013, 9:48 PM
Y6AHH4THYQA43V77L43YM42DYRPCMDSWLUV4NKWAQYMPL4NTUIPQCDependencies
- [2]
AZCCANUBMissing part of aaacf9eda36f5cdcc77cec20d6f49fbb6f925105 - [3]
5EIPRLDDexport logContents - [4]
3PNG7NIBRemove trailing whitespace - [5]
DTXTS7LN* Speed up findBuildDependencyInQueue by doing only one SQL query for - [6]
X27GNHDV* Basic job info in the database. - [7]
INNOEHO6* Fix getBuildLog for bzip2'd files. - [8]
LQNBKF3D - [9]
YTZOC7C5* Editing of jobset inputs. - [10]
6BLUKEQ2* Caching of "path" inputs, and fake a revision number for those. - [11]
GAIBDEZZ* Store the name of the machine that performed a build step in the - [12]
TQKGQ5R3 - [13]
TLZ2SPBR - [14]
ZTQEU5QSHydra: Add support for maxSilent meta attribute (also already added timeout, but not implemented the actual timeout for the build yet) - [15]
SMCOU72Fhydra: add some admin for adding/enabling/etc build machines - [16]
D3DIBMOK* For products that are directories (like manuals), allow a default - [17]
SAIUFDP3hydra: make sure viewing logs works when logs are bz2'd - [18]
EFWN7JBV* Added a status page that shows all the currently executing build steps. - [19]
R5D7DZPE - [20]
BHZXGT2H* Channels: provide an index page that lists all the packages in the - [21]
37R34XJO* Negative caching: don't perform a build if a dependency already - [22]
JM3DPYOMgenerated schema with new dbix class schema loader, grrrrrr - [23]
C2DCO6AS - [24]
OEPUOUNBUsing twitter bootstrap for more consistent looks for Hydra - [25]
HSVVEKTY* Start of a JSON API to get information about a specific build. - [26]
H47WLVAT* Handle the case where there is no cached build step that produced - [27]
P5X4P6VK* Renaming "release sets" to "views" (not finished yet). Having - [28]
RXVJFQ5AEvaluator cleanups - [29]
2NGV7NYNDrop unused "tag" column - [30]
TOTSL2RBWhen checking if build is already built, check for potential 'failed with result'. Fixes issue #7. - [31]
KAZWI5G4* hydra: buildpage, show changes since last build/successful build - [32]
VJHIHMEH* Store the meta.longDescription and meta.license attributes in the - [33]
NREF6YOA* Don't start more builds concurrently than allowed for each system - [34]
6M4KNDXX* Catalyst::View::Download::Plain doesn't like empty files. - [35]
PPJN6SDP* paging for releases page - [36]
LBNVQXUB* Build the /build stuff in a separate controller. - [37]
PY4WQF5Gremove ascii escapes from log in tail page and emails - [38]
EYNG4EL4* Regenerate the bindings from a clean sqlite database. - [39]
WM5WAST3* Monitor for dead builds all the time. - [40]
RBHHV7P7* Read logs using logContents function in stead of handling it everywhere separately. - [41]
5NO7NCKT* Refactoring. - [42]
QUTWJR7P* Include more info in notification emails. - [43]
J5UVLXOK* Start of a basic Catalyst web interface. - [44]
GWCV3TQV* BuildInputs table: link to dependencies, include store paths. - [45]
NZI7E2E3* hydra: handle case where logfile is empty - [46]
V4RNHJNR* Add a link to each project's homepage. Suggested by karltk. - [47]
BVOPAMLS - [48]
OV7F5M3EMerge branch 'queue-17' - [49]
HPEG2RHVMerge the BuildResultInfo table into the Builds table - [50]
GJFYEU3S* Nix now stores logs by default as bzip2, make sure the build page uncompresses before showing. - [51]
XHK7IGYI* hdyra: show last succeeded build and changes since on build status summary if build has failed - [52]
D7TT2BNK - [53]
QBQSQOSYhydra: moved getbuildlog - [54]
ZWCTAZGLadded newsitems, added some admin options to clear various caches. - [55]
LZO3C2KI* Hack around those SQLite timeouts: just retry the transaction. - [56]
RU7AQO7U* Role-based access control. Only admins can create projects. Only - [57]
DQD7JMSU* Fix the terminology. - [58]
S6OISBQ3* Mark the "current" builds in a jobset, i.e. those corresponding to - [59]
5O6E5SU5hydra: store logfile/output path/closure size - [60]
MMDLWWZ2automatic reload of tail log when build is running - [61]
6US6LEC7* Add a NarSize field to Hydra manifests. This allows nix-env - [62]
H7CNGK4O* Log evaluation errors etc. in the DB. - [63]
KPZNJ33U* In views, support selecting a job that doesn't depend on the - [64]
IK53RV4V - [65]
SB2V735VKeep track of the database schema version - [66]
OOQ2D3KC* Refactoring: move fetchInput out of hydra_scheduler into a separate - [67]
DVNWJXWW* Generic declaration of build products. - [68]
6F4UNDTC* Provide access to the raw, non-pretty-printed logfiles. - [69]
LCKWLQW3* In Sqlite "release" is now a keyword, so use "release_" instead. - [70]
JTRG7RDQadd support for git as jobinput - [71]
ZI535LI6* hydra: 'new' UI for project/jobset/job/build - [72]
3HCBU2FA - [73]
B72GLND4 - [74]
U6UJRDG2* Oops. - [75]
G2T4WAHIStore the inputs of each evaluation in the database - [76]
CQTN62OHDie tabs die - [77]
KN3VYE5P* Cleaned up the foreign key constraints. - [78]
QTFVCDIFadded hide feature for project/jobset - [79]
PHX2HIVG* Store info about the build inputs in the build record. - [80]
FHF6IZJQ* Basic release management: releases are now dynamically computed as - [81]
RBNQKATL* Adding persistant releases. A release is a named set of builds. - [82]
MOX7XJ2EMerge the BuildSchedulingInfo table into the Builds table - [83]
SHBLLAVH* More global substitution. - [84]
BD3GRK4B* Get rid of "positive failures" and separate log phases. - [85]
A22P7HCOhydra: at evaluation, check if path is already built, and mark as built in stead of adding to the queue. - [86]
ZVTSOVHN* Support Subversion checkouts. - [87]
SJLEZFC4check getHydraPath in stead of Envvar HYDRA_DBI directly - [88]
SGNXIOI4Hydra/32: Add option to force evaluation of a certain jobset via web interface (for admins only) - [89]
JI26P3PChydra: export addBuildProducts - [90]
ZEHSSVFG - [91]
D7NXMCON* Doh. - [92]
5DSF5KWY* Perl sucks. "getBuildLog $drvPath" doesn't mean the same as - [93]
7ZSVXUGFsequence fix for postgresql - [94]
AHTEIK7G* Added a maintainers field to the Builds table. - [95]
GNIEG2GC* Disambiguate jobs by jobset name. I.e. jobs with the same name in - [96]
2R7GHSA4* hydra: added initial version of build graph - [97]
QE253KG4* Option to show the tail of a log. - [98]
3XTHEUMP* Implemented the clone feature. - [99]
7YBYT2LQ - [100]
V62IBGJV* Cannot call isValidPath on a logfile. This happened to work because - [101]
CMU3YKOU* Store the release name. - [102]
WYN733ST* Store build duration, handle cached builds. - [103]
S5PV6IIM* Represent jobs explicitly in the DB. - [104]
MPVX6MKX* hydra: on build page, show tail of log on first tab when buildstatus == 1 (this specific build failed) - [105]
CLJQCY2X* Store info about all the build actions and allow them to be - [106]
KXGOUX7P* Creating releases. - [107]
KOTB7BKV - [108]
TWVSALRL* Allow the maximum number of concurrent builds per platform to be - [109]
D6YQQQCN* Don't ignore SIGCHLD after all, Perl doesn't like it. Just do - [110]
L2E6EVE2* Merged the Build and Job tables. - [111]
3E6IP3R3* Add the name of the jobset to ReleaseSetJobs, otherwise we can't - [112]
5SHCWE7X* Prevent repeated evaluation of a jobset with the same inputs. This - [113]
FGQPXZIXhydra: make nr of build to keep configurable per jobset - [114]
C7CXMZ66hydra: do not perform git clone every time. in stead work on local clone and pull - [115]
YAPITGB3* Boolean inputs. - [116]
4D4U5IPY* Allow jobsets to be disabled. - [117]
FYO6NECEhydra - [118]
ECBA3GQO* Make the schema class names match the case of the SQL table names. - [119]
OSVLMLCQhydra: factored out build restart and - [120]
HB3OHPJLhydra: in case of cached build, add link to build that built the storepath - [121]
WAZFSDSLusing backquote as argument resulted in only first line as first argument to removeAsciiEscapes - [122]
BMSQD2ZHIndentation - [123]
S66BOMVU* Added authentication. - [124]
3ZCEPLNO - [125]
AFTXA575* $HYDRA_DATA environment variable. - [126]
RFE6T5LG* Store jobset evaluations in the database explicitly. This includes - [127]
TJK27WSBOpen the DB using Hydra::Model::DB->new - [128]
W3HI52QVuse NIX_*_DIR env vars when defined - [129]
TW5ZQX5Z* Move up the build products in the builds page, since they're more - [130]
3BKF6P72* Use Nix's negative caching. - [131]
M552HLIA* Support variant builds. - [132]
NABL63FI* hydra: project members can do stuff that the owner can do - [133]
ZNKPGZHFhydra: error on buildpage for queued build - [134]
AX5EQJO3hydra: show machine in buildsteps - [135]
BDSD2JLV* Speed up manifest generation. - [136]
Q24QXGSM* Don't do pretty printing for large logs, because the XSLT processing - [137]
BOFOHCPKremoved debug print, added last 50 lines in failure emails - [138]
SHYRGAWZhydra: when no external url is given for diff's of git/hg input, revert to a diff done on a local available clone - [139]
67P45PY4 - [140]
ZEEZRG2Eclean up build page for build that failed with result - [*]
XDDCO6CH* hydra: add dependency list with links to logfiles - [*]
2GK5DOU7* Downloading closures. - [*]
IN272KZW* Automatically keep all builds in the latest successful release in - [*]
N22GPKYT* Put info about logs / build products in the DB.
Change contents
- edit in src/lib/Hydra/Controller/Build.pm at line 10
use File::Slurp; - edit in src/lib/Hydra/Controller/Build.pm at line 34
sub cat_log_command {my ($path) = @_;return ($path =~ /.bz2$/ ? "cat $path | bzip2 -d" : "cat $path");} - replacement in src/lib/Hydra/Controller/Build.pm at line 48
my $logfile = $build->logfile;$c->stash->{logtext} = logContents($logfile);$c->stash->{logtext} = read_file($build->logfile, err_mode => 'quiet') // ""; - replacement in src/lib/Hydra/Controller/Build.pm at line 52
(my $cachedBuildStep) = $c->model('DB::BuildSteps')->search({ outpath => $build->outpath }, {}) ;(my $cachedBuildStep) = $c->model('DB::BuildSteps')->search({ outpath => $build->outpath }, {}); - edit in src/lib/Hydra/Controller/Build.pm at line 56[5.272]→[5.0:97](∅→∅),[5.5]→[5.0:97](∅→∅),[5.97]→[5.0:71](∅→∅),[5.71]→[5.3015:3149](∅→∅),[5.3149]→[5.1112:1158](∅→∅),[5.94]→[5.35:96](∅→∅),[5.360]→[5.35:96](∅→∅),[5.1158]→[5.35:96](∅→∅),[5.35]→[5.35:96](∅→∅),[5.64]→[5.222:229](∅→∅),[5.96]→[5.222:229](∅→∅),[5.251]→[5.222:229](∅→∅)
(my $lastBuildStep) = $build->buildsteps->search({},{order_by => "stepnr DESC", rows => 1});my $path = defined $lastBuildStep ? $lastBuildStep->logfile : "" ;if ($build->finished && ($build->buildstatus == 1 || $build->buildstatus == 6) && !($path eq "") && -f $lastBuildStep->logfile) {my $logtext = logContents($path, 50);$c->stash->{logtext} = removeAsciiEscapes($logtext);} - replacement in src/lib/Hydra/Controller/Build.pm at line 94
showLog($c, $step->logfile, $mode);showLog($c, $step->drvpath, $mode); - replacement in src/lib/Hydra/Controller/Build.pm at line 100[5.221]→[5.1641:1642](∅→∅),[5.1641]→[5.1641:1642](∅→∅),[5.1642]→[5.3247:3333](∅→∅),[5.3333]→[5.1786:1787](∅→∅),[5.1786]→[5.1786:1787](∅→∅),[5.1787]→[5.3334:3387](∅→∅)
error($c, "Build didn't produce a log.") if !defined $c->stash->{build}->logfile;showLog($c, $c->stash->{build}->logfile, $mode);showLog($c, $c->stash->{build}->drvpath, $mode); - replacement in src/lib/Hydra/Controller/Build.pm at line 105
my ($c, $path, $mode) = @_;my ($c, $drvPath, $mode) = @_; - replacement in src/lib/Hydra/Controller/Build.pm at line 107
my $fallbackpath = -f $path ? $path : "$path.bz2";my $logPath = getDrvLogPath($drvPath); - replacement in src/lib/Hydra/Controller/Build.pm at line 109
notFound($c, "Log file $path no longer exists.") unless -f $fallbackpath;$path = $fallbackpath;notFound($c, "The build log of derivation ‘$drvPath’ is not available.") unless defined $logPath; - replacement in src/lib/Hydra/Controller/Build.pm at line 113
my $pipestart = ($path =~ /.bz2$/ ? "cat $path | bzip2 -d" : "cat $path") ;my $pipeline = $pipestartmy $pipeline = "nix-store -l $drvPath" - edit in src/lib/Hydra/Controller/Build.pm at line 116
- replacement in src/lib/Hydra/Controller/Build.pm at line 121
$c->stash->{'plain'} = { data => (scalar logContents($path)) || " " };$c->stash->{'plain'} = { data => (scalar logContents($drvPath)) || " " }; - replacement in src/lib/Hydra/Controller/Build.pm at line 131
$c->stash->{contents} = (scalar logContents($path, 50)) || " ";$c->stash->{contents} = (scalar logContents($drvPath, 50)) || " "; - replacement in src/lib/Hydra/Controller/Build.pm at line 136
$c->stash->{'plain'} = { data => (scalar logContents($path, 50)) || " " };$c->stash->{'plain'} = { data => (scalar logContents($drvPath, 50)) || " " }; - replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 20
getReleaseName getBuildLog addBuildProducts restartBuild scmPathgetReleaseName addBuildProducts restartBuild scmPath - edit in src/lib/Hydra/Helper/AddBuilds.pm at line 30[5.115]→[5.115:157](∅→∅),[5.157]→[5.468:559](∅→∅),[5.559]→[5.69:190](∅→∅),[5.190]→[5.81:83](∅→∅),[5.264]→[5.81:83](∅→∅),[5.81]→[5.81:83](∅→∅),[5.83]→[5.2816:2817](∅→∅),[5.2816]→[5.2816:2817](∅→∅),[5.2817]→[5.265:266](∅→∅)
sub getBuildLog {my ($drvPath) = @_;my $logPath = ($ENV{NIX_LOG_DIR} || "/nix/var/log/nix"). "/drvs/" . basename $drvPath;return $logPath if -e $logPath;$logPath = "$logPath.bz2";return $logPath if -e $logPath;return undef;} - edit in src/lib/Hydra/Helper/AddBuilds.pm at line 923
, logfile => getBuildLog($drvPath) - replacement in src/lib/Hydra/Helper/Nix.pm at line 17
jobsetOverview removeAsciiEscapes logContents);jobsetOverview removeAsciiEscapes getDrvLogPath logContents); - edit in src/lib/Hydra/Helper/Nix.pm at line 238
return undef;}# Return the path of the build log of the given derivation, or undef# if the log is gone.sub getDrvLogPath {my ($drvPath) = @_;my $base = basename $drvPath;my $fn =($ENV{NIX_LOG_DIR} || "/nix/var/log/nix") . "/drvs/". substr($base, 0, 2) . "/". substr($base, 2);return $fn if -f $fn;$fn .= ".bz2";return $fn if -f $fn; - edit in src/lib/Hydra/Helper/Nix.pm at line 257
- replacement in src/lib/Hydra/Helper/Nix.pm at line 259
my ($path, $tail) = @_;my ($drvPath, $tail) = @_;my $logPath = getDrvLogPath($drvPath);die unless defined $logPath; - replacement in src/lib/Hydra/Helper/Nix.pm at line 263
if ($path =~ /.bz2$/) {$cmd = "cat $path | bzip2 -d";$cmd = $cmd . " | tail -$tail" if defined $tail;if ($logPath =~ /.bz2$/) {$cmd = "bzip2 -d < $logPath";$cmd = $cmd . " | tail -n $tail" if defined $tail; - replacement in src/lib/Hydra/Helper/Nix.pm at line 268
$cmd = defined $tail ? "tail -$tail $path" : "cat $path";$cmd = defined $tail ? "tail -$tail $logPath" : "cat $logPath"; - replacement in src/lib/Hydra/Helper/Nix.pm at line 270
return `$cmd` if -e $path;return `$cmd`; - edit in src/lib/Hydra/Helper/Nix.pm at line 273
- replacement in src/lib/Hydra/Schema/BuildInputs.pm at line 130
{ join_type => "LEFT" },{is_deferrable => 0,join_type => "LEFT",on_delete => "CASCADE",on_update => "NO ACTION",}, - replacement in src/lib/Hydra/Schema/BuildInputs.pm at line 150
{ join_type => "LEFT" },{is_deferrable => 0,join_type => "LEFT",on_delete => "NO ACTION",on_update => "NO ACTION",}, - replacement in src/lib/Hydra/Schema/BuildInputs.pm at line 159
# Created by DBIx::Class::Schema::Loader v0.07014 @ 2012-04-15 12:38:16# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:sav9OmLm3qA/jiK5k+KIjw# Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:29:36# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:byU/SLN03zNJlSFbi/3Bcg - replacement in src/lib/Hydra/Schema/BuildMachineSystemTypes.pm at line 74
{},{ is_deferrable => 0, on_delete => "CASCADE", on_update => "NO ACTION" }, - replacement in src/lib/Hydra/Schema/BuildMachineSystemTypes.pm at line 78
# Created by DBIx::Class::Schema::Loader v0.07014 @ 2011-12-05 14:15:43# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:CpwMC8YMFC4B7gzGBdzh0A# Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:29:36# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:im3sfvrv5YY3i1IAOozeiA - replacement in src/lib/Hydra/Schema/BuildMachines.pm at line 112
{},undef, - replacement in src/lib/Hydra/Schema/BuildMachines.pm at line 116
# Created by DBIx::Class::Schema::Loader v0.07014 @ 2011-12-05 14:15:43# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:wboDtUIBUkvEiUHpe09kkg# Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:29:36# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:OST5IMcvHKsXlNMCRazXhg - replacement in src/lib/Hydra/Schema/BuildProducts.pm at line 133
__PACKAGE__->belongs_to("build", "Hydra::Schema::Builds", { id => "build" }, {});__PACKAGE__->belongs_to("build","Hydra::Schema::Builds",{ id => "build" },{ is_deferrable => 0, on_delete => "CASCADE", on_update => "NO ACTION" },); - replacement in src/lib/Hydra/Schema/BuildProducts.pm at line 141
# Created by DBIx::Class::Schema::Loader v0.07014 @ 2012-02-29 00:47:18# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:dzTKwZ7bby7kplnSgta3Gw# Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:29:36# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:KHwh/Np40jxKXc3ijMImEQ - edit in src/lib/Hydra/Schema/BuildSteps.pm at line 51
=head2 logfile - edit in src/lib/Hydra/Schema/BuildSteps.pm at line 52[5.6130]→[5.6415:6435](∅→∅),[5.6435]→[5.6171:6188](∅→∅),[5.6171]→[5.6171:6188](∅→∅),[5.6202]→[5.6202:6203](∅→∅)
data_type: 'text'is_nullable: 1 - edit in src/lib/Hydra/Schema/BuildSteps.pm at line 101[5.6362]→[5.2235:2248](∅→∅),[5.6886]→[5.2235:2248](∅→∅),[5.2235]→[5.2235:2248](∅→∅),[5.2248]→[5.6887:6932](∅→∅)
"logfile",{ data_type => "text", is_nullable => 1 }, - replacement in src/lib/Hydra/Schema/BuildSteps.pm at line 141
__PACKAGE__->belongs_to("build", "Hydra::Schema::Builds", { id => "build" }, {});__PACKAGE__->belongs_to("build","Hydra::Schema::Builds",{ id => "build" },{ is_deferrable => 0, on_delete => "CASCADE", on_update => "NO ACTION" },); - replacement in src/lib/Hydra/Schema/BuildSteps.pm at line 149
# Created by DBIx::Class::Schema::Loader v0.07014 @ 2011-12-05 14:15:43# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:5H+OkGT0zQEWkAjU+OlBdg# Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:29:36# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:ItI1OvxHfLTzLVEqfPRjHg - edit in src/lib/Hydra/Schema/Builds.pm at line 185
=head2 logsize - edit in src/lib/Hydra/Schema/Builds.pm at line 186
data_type: 'bigint'is_nullable: 1 - edit in src/lib/Hydra/Schema/Builds.pm at line 270
"logsize",{ data_type => "bigint", is_nullable => 1 }, - replacement in src/lib/Hydra/Schema/Builds.pm at line 306
{},undef, - replacement in src/lib/Hydra/Schema/Builds.pm at line 321
{},undef, - replacement in src/lib/Hydra/Schema/Builds.pm at line 336
{},undef, - replacement in src/lib/Hydra/Schema/Builds.pm at line 351
{},undef, - replacement in src/lib/Hydra/Schema/Builds.pm at line 366
{},{ is_deferrable => 0, on_delete => "NO ACTION", on_update => "CASCADE" }, - replacement in src/lib/Hydra/Schema/Builds.pm at line 381
{},{ is_deferrable => 0, on_delete => "NO ACTION", on_update => "CASCADE" }, - replacement in src/lib/Hydra/Schema/Builds.pm at line 396
{},undef, - replacement in src/lib/Hydra/Schema/Builds.pm at line 411
{},undef, - replacement in src/lib/Hydra/Schema/Builds.pm at line 422
__PACKAGE__->belongs_to("project", "Hydra::Schema::Projects", { name => "project" }, {});__PACKAGE__->belongs_to("project","Hydra::Schema::Projects",{ name => "project" },{ is_deferrable => 0, on_delete => "NO ACTION", on_update => "CASCADE" },); - replacement in src/lib/Hydra/Schema/Builds.pm at line 441
{},undef, - replacement in src/lib/Hydra/Schema/Builds.pm at line 445
# Created by DBIx::Class::Schema::Loader v0.07014 @ 2012-04-15 16:38:10# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:AltTdmkzfwBMYToTkj84vA# Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:34:39# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:wPBFqpUWncuD9xki8Pbnvg - replacement in src/lib/Hydra/Schema/Jobs.pm at line 125
{},undef, - replacement in src/lib/Hydra/Schema/Jobs.pm at line 140
{},{ is_deferrable => 0, on_delete => "CASCADE", on_update => "CASCADE" }, - replacement in src/lib/Hydra/Schema/Jobs.pm at line 151
__PACKAGE__->belongs_to("project", "Hydra::Schema::Projects", { name => "project" }, {});__PACKAGE__->belongs_to("project","Hydra::Schema::Projects",{ name => "project" },{ is_deferrable => 0, on_delete => "CASCADE", on_update => "CASCADE" },); - replacement in src/lib/Hydra/Schema/Jobs.pm at line 159
# Created by DBIx::Class::Schema::Loader v0.07014 @ 2011-12-05 14:15:43# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:ZyDc4SrY9RfmsLK6VOqHhw# Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:29:36# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Vfl4QtuyeKeEk9+Ap7FP2A - replacement in src/lib/Hydra/Schema/JobsetEvalInputs.pm at line 133
{ join_type => "LEFT" },{is_deferrable => 0,join_type => "LEFT",on_delete => "NO ACTION",on_update => "NO ACTION",}, - replacement in src/lib/Hydra/Schema/JobsetEvalInputs.pm at line 149
__PACKAGE__->belongs_to("eval", "Hydra::Schema::JobsetEvals", { id => "eval" }, {});__PACKAGE__->belongs_to("eval","Hydra::Schema::JobsetEvals",{ id => "eval" },{ is_deferrable => 0, on_delete => "CASCADE", on_update => "NO ACTION" },); - replacement in src/lib/Hydra/Schema/JobsetEvalInputs.pm at line 157
# Created by DBIx::Class::Schema::Loader v0.07014 @ 2012-04-15 16:38:10# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:PNxVBdoUNeUzf5BztiIhLw# Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:29:36# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:ng+Q6tMX5EJMD7DxRWVy7Q - replacement in src/lib/Hydra/Schema/JobsetEvalMembers.pm at line 78
__PACKAGE__->belongs_to("build", "Hydra::Schema::Builds", { id => "build" }, {});__PACKAGE__->belongs_to("build","Hydra::Schema::Builds",{ id => "build" },{ is_deferrable => 0, on_delete => "CASCADE", on_update => "NO ACTION" },); - replacement in src/lib/Hydra/Schema/JobsetEvalMembers.pm at line 93
__PACKAGE__->belongs_to("eval", "Hydra::Schema::JobsetEvals", { id => "eval" }, {});__PACKAGE__->belongs_to("eval","Hydra::Schema::JobsetEvals",{ id => "eval" },{ is_deferrable => 0, on_delete => "CASCADE", on_update => "NO ACTION" },); - replacement in src/lib/Hydra/Schema/JobsetEvalMembers.pm at line 101
# Created by DBIx::Class::Schema::Loader v0.07014 @ 2011-12-05 14:15:43# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:0K4lDPUQeK04SEXS5yBbeA# Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:29:36# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:EVwSR9WBqbBdIHq1ANQMHg - replacement in src/lib/Hydra/Schema/JobsetEvals.pm at line 130
{},{ is_deferrable => 0, on_delete => "CASCADE", on_update => "CASCADE" }, - replacement in src/lib/Hydra/Schema/JobsetEvals.pm at line 145
{},undef, - replacement in src/lib/Hydra/Schema/JobsetEvals.pm at line 160
{},undef, - replacement in src/lib/Hydra/Schema/JobsetEvals.pm at line 171
__PACKAGE__->belongs_to("project", "Hydra::Schema::Projects", { name => "project" }, {});__PACKAGE__->belongs_to("project","Hydra::Schema::Projects",{ name => "project" },{ is_deferrable => 0, on_delete => "CASCADE", on_update => "CASCADE" },); - replacement in src/lib/Hydra/Schema/JobsetEvals.pm at line 179
# Created by DBIx::Class::Schema::Loader v0.07014 @ 2012-04-15 22:30:41# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:jn81MbsAb5KZGwRpQ7qTEQ# Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:29:36# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:qElGj6zzuI0xo426np3r1w - replacement in src/lib/Hydra/Schema/JobsetInputAlts.pm at line 108
{},{ is_deferrable => 0, on_delete => "CASCADE", on_update => "CASCADE" }, - replacement in src/lib/Hydra/Schema/JobsetInputAlts.pm at line 112
# Created by DBIx::Class::Schema::Loader v0.07014 @ 2012-04-15 12:38:16# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:M1pOjrCZ2RgULsIPZjN7sg# Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:29:36# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:M3pNBRLfxgSScrPj1zaajA - replacement in src/lib/Hydra/Schema/JobsetInputs.pm at line 91
{},{ is_deferrable => 0, on_delete => "CASCADE", on_update => "CASCADE" }, - replacement in src/lib/Hydra/Schema/JobsetInputs.pm at line 110
{},undef, - replacement in src/lib/Hydra/Schema/JobsetInputs.pm at line 129
{},undef, - replacement in src/lib/Hydra/Schema/JobsetInputs.pm at line 133
# Created by DBIx::Class::Schema::Loader v0.07014 @ 2011-12-05 14:15:43# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:F/eZhnWZHATn9+O6MzuPqA# Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:29:36# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:xjioYUPo6visoLAVDkDZ0Q - replacement in src/lib/Hydra/Schema/Jobsets.pm at line 160
{},undef, - replacement in src/lib/Hydra/Schema/Jobsets.pm at line 178
{},undef, - replacement in src/lib/Hydra/Schema/Jobsets.pm at line 196
{},undef, - replacement in src/lib/Hydra/Schema/Jobsets.pm at line 211
{},{ is_deferrable => 0, on_delete => "NO ACTION", on_update => "NO ACTION" }, - replacement in src/lib/Hydra/Schema/Jobsets.pm at line 229
{},undef, - replacement in src/lib/Hydra/Schema/Jobsets.pm at line 240
__PACKAGE__->belongs_to("project", "Hydra::Schema::Projects", { name => "project" }, {});__PACKAGE__->belongs_to("project","Hydra::Schema::Projects",{ name => "project" },{ is_deferrable => 0, on_delete => "CASCADE", on_update => "CASCADE" },); - replacement in src/lib/Hydra/Schema/Jobsets.pm at line 248
# Created by DBIx::Class::Schema::Loader v0.07014 @ 2011-12-05 14:15:43# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Ikvo8+cq03DzjEUvXSqYiQ# Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:29:36# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:9smV/zbSSxQNLiBcnADFXA - replacement in src/lib/Hydra/Schema/NewsItems.pm at line 83
__PACKAGE__->belongs_to("author", "Hydra::Schema::Users", { username => "author" }, {});__PACKAGE__->belongs_to("author","Hydra::Schema::Users",{ username => "author" },{ is_deferrable => 0, on_delete => "CASCADE", on_update => "CASCADE" },); - replacement in src/lib/Hydra/Schema/NewsItems.pm at line 91
# Created by DBIx::Class::Schema::Loader v0.07014 @ 2011-12-05 14:15:43# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:YRMh0QI4JezFLj7nywGu6Q# Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:29:36# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:lnA5Utkwk5WTyKA/M5mlyg - replacement in src/lib/Hydra/Schema/ProjectMembers.pm at line 71
__PACKAGE__->belongs_to("project", "Hydra::Schema::Projects", { name => "project" }, {});__PACKAGE__->belongs_to("project","Hydra::Schema::Projects",{ name => "project" },{ is_deferrable => 0, on_delete => "CASCADE", on_update => "CASCADE" },); - replacement in src/lib/Hydra/Schema/ProjectMembers.pm at line 90
{},{ is_deferrable => 0, on_delete => "CASCADE", on_update => "CASCADE" }, - replacement in src/lib/Hydra/Schema/ProjectMembers.pm at line 94
# Created by DBIx::Class::Schema::Loader v0.07014 @ 2011-12-05 14:15:43# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:09p6h8c3+hRIjw3XmX15rA# Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:29:36# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:zW87n6E7xWaShcFbgFkVuw - replacement in src/lib/Hydra/Schema/Projects.pm at line 109
{},undef, - replacement in src/lib/Hydra/Schema/Projects.pm at line 124
{},undef, - replacement in src/lib/Hydra/Schema/Projects.pm at line 139
{},undef, - replacement in src/lib/Hydra/Schema/Projects.pm at line 154
{},undef, - replacement in src/lib/Hydra/Schema/Projects.pm at line 165
__PACKAGE__->belongs_to("owner", "Hydra::Schema::Users", { username => "owner" }, {});__PACKAGE__->belongs_to("owner","Hydra::Schema::Users",{ username => "owner" },{ is_deferrable => 0, on_delete => "NO ACTION", on_update => "CASCADE" },); - replacement in src/lib/Hydra/Schema/Projects.pm at line 184
{},undef, - replacement in src/lib/Hydra/Schema/Projects.pm at line 199
{},undef, - replacement in src/lib/Hydra/Schema/Projects.pm at line 214
{},undef, - replacement in src/lib/Hydra/Schema/Projects.pm at line 229
{},undef, - replacement in src/lib/Hydra/Schema/Projects.pm at line 244
{},undef, - edit in src/lib/Hydra/Schema/Projects.pm at line 247
=head2 usernames - replacement in src/lib/Hydra/Schema/Projects.pm at line 249
# Created by DBIx::Class::Schema::Loader v0.07014 @ 2011-12-05 14:15:43# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:cnheEOmK/5fCX1ui4OWPogType: many_to_manyComposing rels: L</projectmembers> -> username=cut__PACKAGE__->many_to_many("usernames", "projectmembers", "username");# Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:29:36# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:OCuhmxs8pZxvmk81eVLLcQ - replacement in src/lib/Hydra/Schema/ReleaseMembers.pm at line 88
__PACKAGE__->belongs_to("build", "Hydra::Schema::Builds", { id => "build" }, {});__PACKAGE__->belongs_to("build","Hydra::Schema::Builds",{ id => "build" },{ is_deferrable => 0, on_delete => "NO ACTION", on_update => "NO ACTION" },); - replacement in src/lib/Hydra/Schema/ReleaseMembers.pm at line 103
__PACKAGE__->belongs_to("project", "Hydra::Schema::Projects", { name => "project" }, {});__PACKAGE__->belongs_to("project","Hydra::Schema::Projects",{ name => "project" },{ is_deferrable => 0, on_delete => "CASCADE", on_update => "CASCADE" },); - replacement in src/lib/Hydra/Schema/ReleaseMembers.pm at line 122
{},{ is_deferrable => 0, on_delete => "CASCADE", on_update => "CASCADE" }, - replacement in src/lib/Hydra/Schema/ReleaseMembers.pm at line 126
# Created by DBIx::Class::Schema::Loader v0.07014 @ 2011-12-05 14:15:43# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:SBMfzENPE0BjEwc2HAK7IA# Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:29:36# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:eP00w5UJp1uTtiB7D5IhTQ - replacement in src/lib/Hydra/Schema/Releases.pm at line 84
__PACKAGE__->belongs_to("project", "Hydra::Schema::Projects", { name => "project" }, {});__PACKAGE__->belongs_to("project","Hydra::Schema::Projects",{ name => "project" },{ is_deferrable => 0, on_delete => "CASCADE", on_update => "NO ACTION" },); - replacement in src/lib/Hydra/Schema/Releases.pm at line 106
{},undef, - replacement in src/lib/Hydra/Schema/Releases.pm at line 110
# Created by DBIx::Class::Schema::Loader v0.07014 @ 2011-12-05 14:15:43# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:W6GOMPv7hc2EAdVaBOvc3A# Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:29:36# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:UTUE3Hb89fT7prwnwwBgvQ - replacement in src/lib/Hydra/Schema/UserRoles.pm at line 74
{},{ is_deferrable => 0, on_delete => "CASCADE", on_update => "CASCADE" }, - replacement in src/lib/Hydra/Schema/UserRoles.pm at line 78
# Created by DBIx::Class::Schema::Loader v0.07014 @ 2011-12-05 14:15:43# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:TySGsLoTpeSuThILIXUaVg# Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:29:36# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:KArPHyemtnm/siwE4x5mGQ - replacement in src/lib/Hydra/Schema/Users.pm at line 93
{},undef, - replacement in src/lib/Hydra/Schema/Users.pm at line 108
{},undef, - replacement in src/lib/Hydra/Schema/Users.pm at line 111
=head2 projects=head2 projects_2s - replacement in src/lib/Hydra/Schema/Users.pm at line 120
"projects","projects_2s", - replacement in src/lib/Hydra/Schema/Users.pm at line 123
{},undef, - replacement in src/lib/Hydra/Schema/Users.pm at line 138
{},undef, - edit in src/lib/Hydra/Schema/Users.pm at line 140
=head2 projectsType: many_to_many - edit in src/lib/Hydra/Schema/Users.pm at line 145
Composing rels: L</projectmembers> -> project - replacement in src/lib/Hydra/Schema/Users.pm at line 147
# Created by DBIx::Class::Schema::Loader v0.07014 @ 2011-12-05 14:15:43# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:3fmr8WMAE9Dg7TKom76YIQ=cut__PACKAGE__->many_to_many("projects", "projectmembers", "project");# Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:29:36# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:OAUFl/teGpfeleb6D8FPlw - replacement in src/lib/Hydra/Schema/ViewJobs.pm at line 119
__PACKAGE__->belongs_to("project", "Hydra::Schema::Projects", { name => "project" }, {});__PACKAGE__->belongs_to("project","Hydra::Schema::Projects",{ name => "project" },{ is_deferrable => 0, on_delete => "CASCADE", on_update => "CASCADE" },); - replacement in src/lib/Hydra/Schema/ViewJobs.pm at line 138
{},{ is_deferrable => 0, on_delete => "CASCADE", on_update => "CASCADE" }, - replacement in src/lib/Hydra/Schema/ViewJobs.pm at line 142
# Created by DBIx::Class::Schema::Loader v0.07014 @ 2011-12-05 14:15:43# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:U9/ovaBs9kFO3flG/MZ5uA# Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:29:36# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:cbSUw113ENPypbd/sICfgg - replacement in src/lib/Hydra/Schema/Views.pm at line 85
__PACKAGE__->belongs_to("project", "Hydra::Schema::Projects", { name => "project" }, {});__PACKAGE__->belongs_to("project","Hydra::Schema::Projects",{ name => "project" },{ is_deferrable => 0, on_delete => "CASCADE", on_update => "CASCADE" },); - replacement in src/lib/Hydra/Schema/Views.pm at line 104
{},undef, - replacement in src/lib/Hydra/Schema/Views.pm at line 108
# Created by DBIx::Class::Schema::Loader v0.07014 @ 2011-12-05 14:15:43# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:cP9XYKw4y9QL+PDJYy9M5w# Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-01-22 13:29:36# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Vyd2+0RAF3XGTpq3KswfAQ - edit in src/lib/Hydra/View/TT.pm at line 5
use Hydra::Helper::Nix;__PACKAGE__->config(TEMPLATE_EXTENSION => '.tt',expose_methods => [qw/log_exists/]); - replacement in src/lib/Hydra/View/TT.pm at line 11
__PACKAGE__->config(TEMPLATE_EXTENSION => '.tt');sub log_exists {my ($self, $c, $drvPath) = @_;my $x = getDrvLogPath($drvPath);return defined $x;} - replacement in src/root/build.tt at line 19
[% log = c.uri_for('/build' build.id 'nixlog' step.stepnr) %]<tr class="[% IF step.logfile %]clickable[% END %]"[% IF step.logfile %] onclick="window.location = '[% log %]'" [% END %]>[% has_log = log_exists(step.drvpath);log = c.uri_for('/build' build.id 'nixlog' step.stepnr); -%]<tr [% IF has_log %] class="clickable" onclick="window.location = '[% log %]'" [% END %]> - replacement in src/root/build.tt at line 54
[% IF step.logfile %][% IF has_log %] - replacement in src/root/build.tt at line 127
[% IF build.logfile %][% IF log_exists(build.drvpath) %] - replacement in src/root/build.tt at line 131
<a class="btn btn-mini btn-primary" href="[% c.uri_for('/build' build.id 'log') %]">pretty</a><a class="btn btn-mini" href="[% c.uri_for('/build' build.id 'log') %]">pretty</a> - edit in src/root/build.tt at line 211
- edit in src/root/build.tt at line 214
- replacement in src/root/build.tt at line 278
<td>[% IF build.maintainers %]<tt>[% HTML.escape(build.maintainers) %]</tt>[% ELSE %]<em>(not given)</em>[% END %]</td><td>[% IF build.maintainers %][% HTML.escape(build.maintainers) %][% ELSE %]<em>(not given)</em>[% END %]</td> - edit in src/root/build.tt at line 285
<th>Max silent / timeout:</th><td>[% build.maxsilent %]s / [% build.timeout %]s</td></tr><tr> - edit in src/root/build.tt at line 321
- edit in src/root/build.tt at line 329
<tr><th>Duration:</th><td>[% IF build.iscachedbuild %]<em>(cached build)</em>[% ELSE %][% INCLUDE renderDuration duration = build.stoptime - build.starttime %][% END %]</td></tr>[% IF build.logfile %]<tr><th>Logfile:</th><td><a href="[% c.uri_for('/build' build.id 'log') %]"><strong>Available</strong></a>(<a href="[% c.uri_for('/build' build.id 'log' 'raw') %]">raw</a>,<a href="[% c.uri_for('/build' build.id 'log' 'tail-reload') %]">tail</a>)</td></tr>[% END %] - replacement in src/root/build.tt at line 384
<h3>Changes since previous build : [% INCLUDE renderFullBuildLink build=prevBuild, hideProjectName=1, hideJobsetName=1 %]</h3><h3>Changes since previous build: [% INCLUDE renderFullBuildLink build=prevBuild, hideProjectName=1, hideJobsetName=1 %]</h3> - replacement in src/script/hydra-build at line 159
my $logtext = logContents($build->logfile, $loglines);my $logtext = logContents($build->drvpath, $loglines); - edit in src/script/hydra-build at line 270
, logfile => $4 - edit in src/script/hydra-build at line 316
, logfile => getBuildLog($drvPathStep) - edit in src/script/hydra-build at line 377[5.4981]→[5.1101:1142](∅→∅),[5.1142]→[5.4020:4021](∅→∅),[5.1409]→[5.4020:4021](∅→∅),[5.4981]→[5.4020:4021](∅→∅),[5.4020]→[5.4020:4021](∅→∅),[5.4021]→[5.325:388](∅→∅),[5.388]→[5.1532:1533](∅→∅),[5.1532]→[5.1532:1533](∅→∅)
my $logfile = getBuildLog($drvPath);my $logsize = defined $logfile ? stat($logfile)->size : 0; - edit in src/script/hydra-build at line 406
, logfile => $logfile, logsize => $logsize - replacement in src/script/hydra-queue-runner at line 43
$build->busy(0);$build->locker("");$build->update;$build->update({ busy => 0, locker => ""}); - replacement in src/script/hydra-queue-runner at line 64
{ drvpath => [ @drvs ], finished => 0, busy => 0, enabled => 1, disabled => 0 },{ join => ['project'], rows => 1 } ) ;{ drvpath => [ @drvs ], finished => 0, busy => 0, enabled => 1, disabled => 0 },{ join => ['project'], rows => 1 } ) ; - replacement in src/script/hydra-queue-runner at line 114
$build->busy(1);$build->locker($$);$build->logfile($logfile);$build->starttime(time);$build->update;$build->update({ busy => 1, locker => $$, logfile => $logfile, starttime => time()}); - edit in src/sql/hydra.sql at line 181
logSize bigint, - edit in src/sql/hydra.sql at line 203
logfile text,