* Add a NarSize field to Hydra manifests. This allows nix-env
[?]
Nov 19, 2010, 3:44 PM
6US6LEC7V7LUTMPXOWGU7D4PQAFOG2AKNW4VBPSENNBEDMTBJCVQCDependencies
- [2]
IGZ3IFSG* Escape `+', `=' and `?' in NAR URIS in manifests. Otherwise you get - [3]
UC3YQDZF* Don't access /nix/var/nix/db directly but use the Nix Perl bindings. - [4]
ZTQEU5QSHydra: Add support for maxSilent meta attribute (also already added timeout, but not implemented the actual timeout for the build yet) - [5]
5O6E5SU5hydra: store logfile/output path/closure size - [6]
YT25ZGSZ - [7]
S3ZLZP3N* Cut off builds after half an hour of apparent inactivity. This - [8]
IN272KZW* Automatically keep all builds in the latest successful release in - [9]
WZ3AEJ67* hydra_update_gc_roots.pl registers build outputs that should be kept - [10]
BDSD2JLV* Speed up manifest generation. - [11]
OG7BEM57 - [12]
UMOJJ6DVtime out to 3600 for now - [13]
GZAXDYBQ* Script for initialising the database. - [14]
37R34XJO* Negative caching: don't perform a build if a dependency already - [15]
AFTXA575* $HYDRA_DATA environment variable. - [16]
GAIBDEZZ* Store the name of the machine that performed a build step in the - [17]
7YBYT2LQ - [18]
FHAVPTZ6Hydra/23: added some X-headers with meta info in email notifications, added more descriptive status - [19]
DV33AJ23 - [20]
CMU3YKOU* Store the release name. - [21]
BD3GRK4B* Get rid of "positive failures" and separate log phases. - [22]
2IEFMER5* Add --fallback to prevent problems with obsolete substitutes. - [23]
A63IHCMX* Register GC roots properly. - [24]
CLJQCY2X* Store info about all the build actions and allow them to be - [25]
BPVJBR2P* Only put Nix builds in the global channel. - [26]
2JQ7WEFM - [27]
SAFVRDTK* Put Hydra's dependencies so that they can easily be installed in a - [28]
LZO3C2KI* Hack around those SQLite timeouts: just retry the transaction. - [29]
2GK5DOU7* Downloading closures. - [30]
DO432JDJ* Build Hydra with the Nix Perl bindings. - [31]
IWVA2P2Y* Generate manifests on demand. Next step: generate NAR archives on - [*]
NYC3LZKH* Generate NAR archives on the fly. Necessary for producing channels
Change contents
- replacement in deps.nix at line 11
rev = 24765;sha256 = "12ah8c8p9bx55hd17lhcfc74bd4r1677dxy0id3008pww1aklir7";rev = 24774;sha256 = "1akj695gpnbrjlnwd1gdnnnk7ppvpp1qsinjn04az7q6hjqzbm6p"; - replacement in src/lib/Hydra/Helper/Nix.pm at line 12
isValidPath queryPathInfoisValidPath - edit in src/lib/Hydra/Helper/Nix.pm at line 26[7.79]→[7.79:121](∅→∅),[7.230]→[7.230:231](∅→∅),[7.231]→[3.47:177](∅→∅),[3.177]→[7.336:337](∅→∅),[7.336]→[7.336:337](∅→∅),[7.683]→[7.683:721](∅→∅),[7.374]→[7.298:302](∅→∅),[7.721]→[7.298:302](∅→∅),[7.298]→[7.298:302](∅→∅)
sub queryPathInfo {my $path = shift;my $hash = Nix::queryPathHash($path);my $deriver = Nix::queryDeriver($path);my @refs = Nix::queryReferences($path);return ($hash, $deriver, \@refs);} - replacement in src/lib/Hydra/View/NixManifest.pm at line 24
my ($hash, $deriver, $refs) = queryPathInfo $path;my ($deriver, $hash, $time, $narSize, $refs) = Nix::queryPathInfo $path; - edit in src/lib/Hydra/View/NixManifest.pm at line 43[33.482][7.1588]
($narSize != 0 ? " NarSize: $narSize\n" : "") . - edit in src/script/hydra_build.pl.in at line 202
sub getSize {my $size = `du -bcs @_ 2> /dev/null | tail -1 | cut -f 1 `;return int($size);} - replacement in src/script/hydra_build.pl.in at line 232
my $cmd = "nix-store --realise $drvPath " .my $cmd = "nix-store -j1 --no-build-hook --realise $drvPath " . - replacement in src/script/hydra_build.pl.in at line 370
my $logsize = defined $logfile ? getSize($logfile) : 0;my $size = isValidPath($outPath) ? getSize($outPath) : 0;my $logsize = defined $logfile ? stat($logfile)->size : 0; - edit in src/script/hydra_build.pl.in at line 372
my $size = 0; - edit in src/script/hydra_build.pl.in at line 374
- replacement in src/script/hydra_build.pl.in at line 376
(my $hash, my $deriver, my $refs) = queryPathInfo($outPath) ;$closuresize = getSize(@{$refs});my ($deriver, $hash, $time, $narSize, $refs) = Nix::queryPathInfo($outPath);$size = $narSize;my @closure = Nix::computeFSClosure(0, 0, $outPath);foreach my $path (@closure) {my ($deriver, $hash, $time, $narSize, $refs) = Nix::queryPathInfo($path);$closuresize += $narSize;}