* Read logs using logContents function in stead of handling it everywhere separately.
[?]
Jun 26, 2012, 10:00 AM
RBHHV7P7MMFXUNWCJFNYKLGVLG2NQEDUKJ2IUCZ3WFMHH3SZRUHQCDependencies
- [2]
64K7R4Y6Forgot to change Nix to Nix::Store in one place - [3]
GJFYEU3S* Nix now stores logs by default as bzip2, make sure the build page uncompresses before showing. - [4]
CXRCPDSQ* added support for twitter notification - [5]
6M4KNDXX* Catalyst::View::Download::Plain doesn't like empty files. - [6]
KA45EBF5* Send email if a build fails. - [7]
EUWLW7FYDon't use the Switch module - [8]
OG7BEM57 - [9]
LZO3C2KI* Hack around those SQLite timeouts: just retry the transaction. - [10]
G5A7TZVI* Don't discard old build steps when restarting a build. - [11]
ALXRI3Y5hydra: removed need for HYDRA_BUILD_BASEURL env variable - [12]
6US6LEC7* Add a NarSize field to Hydra manifests. This allows nix-env - [13]
7YBYT2LQ - [14]
NZI7E2E3* hydra: handle case where logfile is empty - [15]
MOX7XJ2EMerge the BuildSchedulingInfo table into the Builds table - [16]
LQNBKF3D - [17]
AS5PAYLI - [18]
HB3OHPJLhydra: in case of cached build, add link to build that built the storepath - [19]
LBNVQXUB* Build the /build stuff in a separate controller. - [20]
GAIBDEZZ* Store the name of the machine that performed a build step in the - [21]
LA27PR4Uhydra: fix enable email notification bug - [22]
Q24QXGSM* Don't do pretty printing for large logs, because the XSLT processing - [23]
SAIUFDP3hydra: make sure viewing logs works when logs are bz2'd - [24]
LOMVF2KHdo not send email for builds with status 'aborted' - [25]
ECBA3GQO* Make the schema class names match the case of the SQL table names. - [26]
U6UJRDG2* Oops. - [27]
VPKMUFF3hydra-build: only send email if the status differs from the previous build - [28]
OD5FSS5A* Quick hack to allow viewing of dependency graphs (via nix-store -q - [29]
BD3GRK4B* Get rid of "positive failures" and separate log phases. - [30]
FHAVPTZ6Hydra/23: added some X-headers with meta info in email notifications, added more descriptive status - [31]
T7Z63K6Thydra: moves jobsetOverview sub - [32]
HPEG2RHVMerge the BuildResultInfo table into the Builds table - [33]
QUTWJR7P* Include more info in notification emails. - [34]
WAZFSDSLusing backquote as argument resulted in only first line as first argument to removeAsciiEscapes - [35]
FCBQMIF3hydra-build: Do not send email following an abortion. - [36]
KSD75RNJHydra/18: fixed uninitialized value error when logfile is null - [37]
L2E6EVE2* Merged the Build and Job tables. - [38]
5O6E5SU5hydra: store logfile/output path/closure size - [39]
BEKA3TMMHydra/25: At job pages, show the hash of the output - [40]
MMDLWWZ2automatic reload of tail log when build is running - [41]
G3IUM7VLhydra: add support for succeedOnFailure feature in stdenv - [42]
D7NXMCON* Doh. - [43]
3BKF6P72* Use Nix's negative caching. - [44]
IW2LHCLLfixed email bug - [45]
A52HEFHQ* Allow builds to be restarted (if they failed with a transient error, - [46]
37R34XJO* Negative caching: don't perform a build if a dependency already - [47]
QE253KG4* Option to show the tail of a log. - [48]
UVNQPK3THydra/56: handle failed builds with result only at build level, not buildsteps - [49]
NP6QUCL7* Fix indentation. - [50]
MPGVCHVF* Fix an apparent incompatibility with recent DBIx::Class. - [51]
6F4UNDTC* Provide access to the raw, non-pretty-printed logfiles. - [52]
A22P7HCOhydra: at evaluation, check if path is already built, and mark as built in stead of adding to the queue. - [53]
CMU3YKOU* Store the release name. - [54]
BOFOHCPKremoved debug print, added last 50 lines in failure emails - [55]
ZILILXXK* Allow scheduled builds to be cancelled. They're not removed from - [56]
FYO6NECEhydra - [57]
CLJQCY2X* Store info about all the build actions and allow them to be - [58]
PY4WQF5Gremove ascii escapes from log in tail page and emails - [*]
2GK5DOU7* Downloading closures. - [*]
AFTXA575* $HYDRA_DATA environment variable.
Change contents
- edit in src/lib/Hydra/Controller/Build.pm at line 50
my $pipestart; - replacement in src/lib/Hydra/Controller/Build.pm at line 52
$pipestart = cat_log_command($logfile);$c->stash->{logtext} = `$pipestart` if defined $logfile && -e $logfile;$c->stash->{logtext} = logContents($logfile); - replacement in src/lib/Hydra/Controller/Build.pm at line 63
$pipestart = cat_log_command($path);my $logtext = `$pipestart | tail -n 50`;my $logtext = logContents($path, 50); - edit in src/lib/Hydra/Controller/Build.pm at line 125
my $pipestart = ($path =~ /.bz2$/ ? "cat $path | bzip2 -d" : "cat $path") ; - edit in src/lib/Hydra/Controller/Build.pm at line 128
my $pipestart = ($path =~ /.bz2$/ ? "cat $path | bzip2 -d" : "cat $path") ; - replacement in src/lib/Hydra/Controller/Build.pm at line 138
$c->stash->{'plain'} = { data => (scalar `$pipestart`) || " " };$c->stash->{'plain'} = { data => (scalar logContents($path)) || " " }; - replacement in src/lib/Hydra/Controller/Build.pm at line 148
$c->stash->{contents} = (scalar `$pipestart | tail -n 50`) || " ";$c->stash->{contents} = (scalar logContents($path, 50)) || " "; - replacement in src/lib/Hydra/Controller/Build.pm at line 153
$c->stash->{'plain'} = { data => (scalar `$pipestart | tail -n 50`) || " " };$c->stash->{'plain'} = { data => (scalar logContents($path, 50)) || " " }; - replacement in src/lib/Hydra/Helper/Nix.pm at line 167
, "+select" =>, "+select" => - edit in src/lib/Hydra/Helper/Nix.pm at line 239[4.5600][61.849]
sub logContents {my ($path, $tail) = @_;my $cmd;if ($path =~ /.bz2$/) {$cmd = "cat $path | bzip2 -d";$cmd = $cmd . " | tail -$tail" if defined $tail;}else {$cmd = defined $tail ? "tail -$tail $path" : "cat $path";}return `$cmd` if -e $path;} - replacement in src/script/hydra-build at line 40
my $duration = ($build->stoptime - $build->starttime) . " seconds";my $duration = ($build->stoptime - $build->starttime) . " seconds"; - replacement in src/script/hydra-build at line 50
my $msg = "$jobName ($system): $status in $duration #$tag";my $msg = "$jobName ($system): $status in $duration #$tag"; - replacement in src/script/hydra-build at line 54
- replacement in src/script/hydra-build at line 71
- replacement in src/script/hydra-build at line 79
- replacement in src/script/hydra-build at line 89
, system => $build->system, system => $build->system - replacement in src/script/hydra-build at line 97
return;return; - replacement in src/script/hydra-build at line 103[4.209]→[4.4231:4248](∅→∅),[4.214]→[4.4231:4248](∅→∅),[4.9930]→[4.4231:4248](∅→∅),[4.4231]→[4.4231:4248](∅→∅)
return;return; - replacement in src/script/hydra-build at line 160
my $logfile = $build->logfile;my $logtext = defined $logfile && -e $logfile ? `tail -$loglines $logfile` : "No logfile available.\n";my $logtext = logContents($build->logfile, $loglines); - replacement in src/script/hydra-build at line 183
. ($build->buildstatus != 0 ? "\n---\n$logtext" : "");. ($build->buildstatus != 0 ? "\n---\n$logtext" : ""); - replacement in src/script/hydra-build at line 235
- replacement in src/script/hydra-build at line 251
- replacement in src/script/hydra-build at line 256
- replacement in src/script/hydra-build at line 261
- replacement in src/script/hydra-build at line 277
- replacement in src/script/hydra-build at line 286
- replacement in src/script/hydra-build at line 293
- replacement in src/script/hydra-build at line 362
- replacement in src/script/hydra-build at line 380
my $logfile = getBuildLog($drvPath);my $logfile = getBuildLog($drvPath); - replacement in src/script/hydra-build at line 394
$closuresize += $narSize;$closuresize += $narSize; - replacement in src/script/hydra-build at line 400