Fix handling of IPC::Run::run exit status
[?]
Jan 23, 2013, 2:56 PM
A43SLRSH6OIIEZWLRKLMERX7HOMBICKG7WHELCZYLOJWZ3JFRV2ACDependencies
- [2]
G7XYM6MUuse local clone to limit bandwidth usage - [3]
5FP63F5TMore command renaming. - [4]
GAZHOBWEBetter fix - [5]
OXJ4QT6KStrip all whitespace from revision from subversion call. Patch provided by Petr Ročkai - [6]
OSTNUSGYFallback for git fetch, which allows specific gits revisions to be used as build inputs. - [7]
QIW2WZKWFix indentation - [8]
3RL7VFKEAdd tests for "git describe --long". - [9]
HQ4QHAOFmake default branch default, remove quotes - [10]
PXUCXYZI* Pass `-j 1' to hydra_eval_jobs to ensure that it can make progress - [11]
AMFMXR52Provide a command ‘hydra-init’ to initialise/upgrade the database - [12]
KW3M6NSRhydra: run nix-prefetch-git on local clone of git repo - [13]
4FWDVNWAPass additional attributes for Git inputs - [14]
C7CXMZ66hydra: do not perform git clone every time. in stead work on local clone and pull - [15]
ARD6Z67TDo incremental SVN checkouts - [16]
QMW24O5SAdd support for Guile & Guix. - [17]
RBZRCTALhydra: fixed and re-enabled evaluation tests - [18]
Y5DJHUBMAllow Subversion inputs to specify a revision number. - [19]
PNPT3Y7RUse git fetch --all to update local clone in stead of git pull. Also, do not use --branch in initial clone. - [20]
SBKX3YH2cleanup - [21]
WHS5RMPO - [22]
KQS7DSKJ* Clean up indentation. - [23]
G2ZB6464first test, not yet in buildprocess - [24]
PVBTVPKJnix needs env vars as absolute paths - [25]
M73H45NEadd support for mercurial tags/revs - [26]
UO67NQMRChange `fetchInputGit' to do `git clone -b BRANCH' instead of `git clone'. - [27]
6ZSLRO7MfetchInputGit: Populate TopGit branches when on a topic branch. - [28]
BK24VA6Q* for git inputs, check latest revision of branch (defaults to master for now), if there is change, only use input if last checkout was > hour ago. - [29]
O25D52TAinitial support for mercurial - [30]
X3COYEVIAdd missing / - [31]
N3KBVX6GSet $PERL5LIB properly in hydra-init in "make check" - [32]
P5XCKTFDFix sysbuild input type handling - [33]
VOBFCHIXuse top_srcdir in stead of srcdir - [34]
I3TU2UJQ - [35]
3XTHEUMP* Implemented the clone feature. - [36]
FXW2UR7Finitial bzr support - [37]
ZHBEOOUQshow evaluation errors in log of tests - [38]
SGNXIOI4Hydra/32: Add option to force evaluation of a certain jobset via web interface (for admins only) - [39]
3PNG7NIBRemove trailing whitespace - [40]
CHQEG6WYHydra/29: Added timeout to svn/git checkouts, job evaluation - [41]
EDRUQ4UKDie TABs die - [42]
INNOEHO6* Fix getBuildLog for bzip2'd files. - [43]
PIMGMGAFRename hydra_eval_jobs to hydra-eval-jobs - [44]
EDDTVGB4set BZR_HOME env var so bzr won't fail - [45]
WWUOQ7V4* hydra: indentation and fixed duplicate key in cachedgitinputs bug - [46]
JTRG7RDQadd support for git as jobinput - [47]
HABC6L4GRevert "Use git fetch --all to update local clone in stead of git pull. Also, do not use --branch in initial clone." - [48]
2WRTOU2ZCleanup - [49]
7XC62UTYUse git fetch -fu origin +$branch:$branch to fetch all changes for branch. - [50]
7RO7CINMsetup environment variables for tests - [51]
DAKY4N64Allow use of a single Git clone for several branches. - [52]
V2MLUZRPRandom indentation fix - [53]
OB7GB5DLTest environment cleanups - [54]
HX4QYOYAadd first evaluations tests - [55]
3I6BNF4Shydra: do not use refs/heads while checking for latest commit in branch - [56]
6KJXJB7Nqualify ordery_by clauses when necessary, remove unnecessary order_by's, reported by Ludo, resulted in errors in sqlite - [57]
YFPZ46YK* hydra: added variant of build input type, 'build output (same system)' to allow better continous integration in one jobset for multiple system. it makes sure that the system of the build that is passed as input for a job has the same system as the job. - [58]
VLS2QTLMAdd numbered revision id of mercurial as revCount. - [59]
YL5OIJNQdisabled evaluation tests until i figure out why it fails in buildfarm and succeeds locally - [60]
DCHQR576add bzr-repo target - [61]
HE3GX5IPOptimize fetch-git. - [62]
BMSQD2ZHIndentation - [63]
2WUNXJGWHydra/26: Go back to using "svn export" as default for svn, added svn-checkout type for jobset which need .svn dirs. export is much more efficient - [64]
WFJ3ZPRMadd tests for scm inputs - [65]
QQQSXZWRremove debug target - [66]
FAIJDQKZ - [67]
OOQ2D3KC* Refactoring: move fetchInput out of hydra_scheduler into a separate - [68]
YRKCK7UBFix Mercurial input fetching if a cached input has been GC'ed - [69]
V2ALOFRRFix the test - [*]
ZWCTAZGLadded newsitems, added some admin options to clear various caches.
Change contents
- replacement in src/lib/Hydra/Controller/Admin.pm at line 427
(my $res, my $stdout, my $stderr) = captureStdoutStderr(60, ("hydra-evaluator", $projectName, $jobsetName));captureStdoutStderr(60, "hydra-evaluator", $projectName, $jobsetName); - replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 119
or die "Cannot copy path $uri to the Nix store.\n";or die "cannot copy path $uri to the Nix store.\n"; - replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 173
die "Cannot get head revision of Subversion repository at `$uri':\n$stderr"unless IPC::Run::run(@cmd, \$stdout, \$stderr);IPC::Run::run(@cmd, \$stdout, \$stderr);die "cannot get head revision of Subversion repository at `$uri':\n$stderr" if $?; - replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 197
(my $res, $stdout, $stderr) = captureStdoutStderr(600,("svn", "checkout", $uri, "-r", $revision, $wcPath));(my $res, $stdout, $stderr) = captureStdoutStderr(600, "svn", "checkout", $uri, "-r", $revision, $wcPath);die "error checking out Subversion repo at `$uri':\n$stderr" if $res; - replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 325[8.318]→[8.318:378](∅→∅),[8.378]→[8.0:70](∅→∅),[8.271]→[8.0:70](∅→∅),[8.49]→[8.320:390](∅→∅),[8.70]→[8.320:390](∅→∅),[8.132]→[8.320:390](∅→∅),[8.320]→[8.320:390](∅→∅)
($res, $stdout, $stderr) = captureStdoutStderr(600,("git", "clone", "--branch", $branch, $uri, $clonePath));die "Error cloning git repo at `$uri':\n$stderr" unless $res;($res, $stdout, $stderr) = captureStdoutStderr(600, "git", "clone", "--branch", $branch, $uri, $clonePath);die "error cloning git repo at `$uri':\n$stderr" if $res; - replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 335
("git", "fetch", "-fu", "origin", "+$branch:$branch"));"git", "fetch", "-fu", "origin", "+$branch:$branch"); - replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 337
("git", "fetch", "-fu", "origin")) unless $res;die "Error fetching latest change from git repo at `$uri':\n$stderr" unless $res;"git", "fetch", "-fu", "origin") if $res;die "error fetching latest change from git repo at `$uri':\n$stderr" if $res; - replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 342
die "Error getting revision number of Git branch '$branch' at `$uri':\n$stderr" unless $res;die "error getting revision number of Git branch '$branch' at `$uri':\n$stderr" if $res; - replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 345[8.240]→[8.359:405](∅→∅),[8.1528]→[8.359:405](∅→∅),[8.359]→[8.359:405](∅→∅),[8.405]→[8.1529:1642](∅→∅)
die unless $revision =~ /^[0-9a-fA-F]+$/;die "Error getting a well-formated revision number of Git branch '$branch' at `$uri':\n$stdout" unless $res;die "error getting a well-formated revision number of Git branch '$branch' at `$uri':\n$stdout"unless $revision =~ /^[0-9a-fA-F]+$/; - replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 355
($res, $stdout, $stderr) = captureStdoutStderr(600,("git", "checkout", "$branch"));die "Error checking out Git branch '$branch' at `$uri':\n$stderr" unless $res;($res, $stdout, $stderr) = captureStdoutStderr(600, "git", "checkout", "$branch");die "error checking out Git branch '$branch' at `$uri':\n$stderr" if $res; - replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 362
("tg", "remote", "--populate", "origin"));print STDERR "Warning: `tg remote --populate origin' failed:\n$stderr" unless $res;"tg", "remote", "--populate", "origin");print STDERR "warning: `tg remote --populate origin' failed:\n$stderr" if $res; - replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 400[8.1]→[8.3442:3502](∅→∅),[8.3502]→[8.0:58](∅→∅),[8.299]→[8.0:58](∅→∅),[8.58]→[8.7529:7625](∅→∅),[8.351]→[8.7529:7625](∅→∅),[8.7529]→[8.7529:7625](∅→∅)
($res, $stdout, $stderr) = captureStdoutStderr(600,("nix-prefetch-git", $clonePath, $revision));die "Cannot check out Git repository branch '$branch' at `$uri':\n$stderr" unless $res;($res, $stdout, $stderr) = captureStdoutStderr(600, "nix-prefetch-git", $clonePath, $revision);die "cannot check out Git repository branch '$branch' at `$uri':\n$stderr" if $res; - replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 453
(my $res, $stdout, $stderr) = captureStdoutStderr(600,("bzr", "branch", $uri, $clonePath));die "Error cloning bazaar branch at `$uri':\n$stderr" unless $res;(my $res, $stdout, $stderr) = captureStdoutStderr(600, "bzr", "branch", $uri, $clonePath);die "error cloning bazaar branch at `$uri':\n$stderr" if $res; - replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 458
(my $res, $stdout, $stderr) = captureStdoutStderr(600,("bzr", "pull"));die "Error pulling latest change bazaar branch at `$uri':\n$stderr" unless $res;(my $res, $stdout, $stderr) = captureStdoutStderr(600, "bzr", "pull");die "error pulling latest change bazaar branch at `$uri':\n$stderr" if $res; - replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 462
my @cmd = (["bzr", "revno"],"|", ["sed", 's/^ *\([0-9]*\).*/\1/']);my @cmd = (["bzr", "revno"], "|", ["sed", 's/^ *\([0-9]*\).*/\1/']); - replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 464
die "Cannot get head revision of Bazaar branch at `$uri':\n$stderr"unless IPC::Run::run(@cmd, \$stdout, \$stderr);IPC::Run::run(@cmd, \$stdout, \$stderr);die "cannot get head revision of Bazaar branch at `$uri':\n$stderr" if $?; - replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 484
("nix-prefetch-bzr", $clonePath, $revision));die "Cannot check out Bazaar branch `$uri':\n$stderr" unless $res;"nix-prefetch-bzr", $clonePath, $revision);die "cannot check out Bazaar branch `$uri':\n$stderr" if $res; - replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 523
("hg", "clone", $uri, $clonePath));die "Error cloning mercurial repo at `$uri':\n$stderr" unless $res;"hg", "clone", $uri, $clonePath);die "error cloning mercurial repo at `$uri':\n$stderr" if $res; - replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 529
(my $res, $stdout, $stderr) = captureStdoutStderr(600,("hg", "pull"));die "Error pulling latest change mercurial repo at `$uri':\n$stderr" unless $res;(my $res, $stdout, $stderr) = captureStdoutStderr(600, "hg", "pull");die "error pulling latest change mercurial repo at `$uri':\n$stderr" if $res; - replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 532
(my $res1, $stdout, $stderr) = captureStdoutStderr(600,("hg", "log", "-r", $id, "--template", "{node|short} {rev} {branch}"));die "Error getting branch and revision of $id from `$uri':\n$stderr" unless $res1;(my $res1, $stdout, $stderr) = captureStdoutStderr(600,"hg", "log", "-r", $id, "--template", "{node|short} {rev} {branch}");die "error getting branch and revision of $id from `$uri':\n$stderr" if $res1; - replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 552
("nix-prefetch-hg", $clonePath, $revision));die "Cannot check out Mercurial repository `$uri':\n$stderr" unless $res;"nix-prefetch-hg", $clonePath, $revision);die "cannot check out Mercurial repository `$uri':\n$stderr" if $res; - replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 619
die "Input `" . $name . "' has unknown type `$type'.";die "input `" . $name . "' has unknown type `$type'."; - edit in src/lib/Hydra/Helper/AddBuilds.pm at line 705
my $res; - replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 712
$res = IPC::Run::run(\@cmd, \$stdin, \$stdout, \$stderr);IPC::Run::run(\@cmd, \$stdin, \$stdout, \$stderr); - replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 717
die unless $@ eq "timeout\n"; # propagate unexpected errorsreturn (undef, "", "timeout\n");die unless $@ eq "timeout\n"; # propagate unexpected errorsreturn (-1, "", "timeout\n"); - replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 720
return ($res, $stdout, $stderr);return ($?, $stdout, $stderr); - replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 729
or die "Cannot find the input containing the job expression.\n";die "Multiple alternatives for the input containing the Nix expression are not supported.\n"or die "cannot find the input containing the job expression.\n";die "multiple alternatives for the input containing the Nix expression are not supported.\n" - replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 738[8.906]→[8.2530:2650](∅→∅),[8.116]→[8.3093:3181](∅→∅),[8.236]→[8.3093:3181](∅→∅),[8.1013]→[8.3093:3181](∅→∅),[8.2650]→[8.3093:3181](∅→∅),[8.3093]→[8.3093:3181](∅→∅)
($evaluator, $nixExprFullPath, "--gc-roots-dir", getGCRootsDir, "-j", 1, inputsToArgs($inputInfo, $exprType)));die "Cannot evaluate the Nix expression containing the jobs:\n$stderr" unless $res;$evaluator, $nixExprFullPath, "--gc-roots-dir", getGCRootsDir, "-j", 1, inputsToArgs($inputInfo, $exprType));die "cannot evaluate the Nix expression containing the jobs:\n$stderr" if $res; - replacement in tests/Makefile.am at line 27
clean :clean: - edit in tests/Makefile.am at line 30
rm -f .*-state - replacement in tests/Makefile.am at line 34
db.sqlite : $(top_srcdir)/src/sql/hydra-sqlite.sqldb.sqlite: $(top_srcdir)/src/sql/hydra-sqlite.sql - replacement in tests/Makefile.am at line 37
repos : dirsrepos: dirs - replacement in tests/Makefile.am at line 39
dirs :dirs: - replacement in tests/Setup.pm at line 69
return $res;return !$res; - replacement in tests/Setup.pm at line 75
print "STDERR: $stderr" if $res;return ($res, $stdout, $stderr);print "STDERR: $stderr" if $stderr ne "";return !$res; - replacement in tests/Setup.pm at line 82
die "Unexpected update error with $scm: $stderr\n" unless $res;die "unexpected update error with $scm: $stderr\n" if $res;