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]
WWUOQ7V4* hydra: indentation and fixed duplicate key in cachedgitinputs bug - [9]
3I6BNF4Shydra: do not use refs/heads while checking for latest commit in branch - [10]
SGNXIOI4Hydra/32: Add option to force evaluation of a certain jobset via web interface (for admins only) - [11]
EDRUQ4UKDie TABs die - [12]
CHQEG6WYHydra/29: Added timeout to svn/git checkouts, job evaluation - [13]
PVBTVPKJnix needs env vars as absolute paths - [14]
HABC6L4GRevert "Use git fetch --all to update local clone in stead of git pull. Also, do not use --branch in initial clone." - [15]
FXW2UR7Finitial bzr support - [16]
WFJ3ZPRMadd tests for scm inputs - [17]
6ZSLRO7MfetchInputGit: Populate TopGit branches when on a topic branch. - [18]
Y5DJHUBMAllow Subversion inputs to specify a revision number. - [19]
M73H45NEadd support for mercurial tags/revs - [20]
HE3GX5IPOptimize fetch-git. - [21]
X3COYEVIAdd missing / - [22]
OB7GB5DLTest environment cleanups - [23]
DAKY4N64Allow use of a single Git clone for several branches. - [24]
6KJXJB7Nqualify ordery_by clauses when necessary, remove unnecessary order_by's, reported by Ludo, resulted in errors in sqlite - [25]
3RL7VFKEAdd tests for "git describe --long". - [26]
INNOEHO6* Fix getBuildLog for bzip2'd files. - [27]
VOBFCHIXuse top_srcdir in stead of srcdir - [28]
C7CXMZ66hydra: do not perform git clone every time. in stead work on local clone and pull - [29]
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. - [30]
N3KBVX6GSet $PERL5LIB properly in hydra-init in "make check" - [31]
PIMGMGAFRename hydra_eval_jobs to hydra-eval-jobs - [32]
I3TU2UJQ - [33]
SBKX3YH2cleanup - [34]
YRKCK7UBFix Mercurial input fetching if a cached input has been GC'ed - [35]
V2MLUZRPRandom indentation fix - [36]
DCHQR576add bzr-repo target - [37]
PNPT3Y7RUse git fetch --all to update local clone in stead of git pull. Also, do not use --branch in initial clone. - [38]
UO67NQMRChange `fetchInputGit' to do `git clone -b BRANCH' instead of `git clone'. - [39]
P5XCKTFDFix sysbuild input type handling - [40]
EDDTVGB4set BZR_HOME env var so bzr won't fail - [41]
OOQ2D3KC* Refactoring: move fetchInput out of hydra_scheduler into a separate - [42]
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 - [43]
7XC62UTYUse git fetch -fu origin +$branch:$branch to fetch all changes for branch. - [44]
YL5OIJNQdisabled evaluation tests until i figure out why it fails in buildfarm and succeeds locally - [45]
3XTHEUMP* Implemented the clone feature. - [46]
KW3M6NSRhydra: run nix-prefetch-git on local clone of git repo - [47]
HX4QYOYAadd first evaluations tests - [48]
QQQSXZWRremove debug target - [49]
BMSQD2ZHIndentation - [50]
WHS5RMPO - [51]
ZHBEOOUQshow evaluation errors in log of tests - [52]
O25D52TAinitial support for mercurial - [53]
KQS7DSKJ* Clean up indentation. - [54]
AMFMXR52Provide a command ‘hydra-init’ to initialise/upgrade the database - [55]
4FWDVNWAPass additional attributes for Git inputs - [56]
HQ4QHAOFmake default branch default, remove quotes - [57]
QMW24O5SAdd support for Guile & Guix. - [58]
JTRG7RDQadd support for git as jobinput - [59]
V2ALOFRRFix the test - [60]
VLS2QTLMAdd numbered revision id of mercurial as revCount. - [61]
3PNG7NIBRemove trailing whitespace - [62]
RBZRCTALhydra: fixed and re-enabled evaluation tests - [63]
PXUCXYZI* Pass `-j 1' to hydra_eval_jobs to ensure that it can make progress - [64]
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. - [65]
G2ZB6464first test, not yet in buildprocess - [66]
2WRTOU2ZCleanup - [67]
FAIJDQKZ - [68]
ARD6Z67TDo incremental SVN checkouts - [69]
7RO7CINMsetup environment variables for tests - [*]
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;