This commit is contained in:
Eelco Dolstra 2008-11-05 01:58:29 +00:00
parent 6e73c85c3b
commit 8378d57ba2

View file

@ -49,42 +49,43 @@ sub buildJob {
, starttime => $startTime , starttime => $startTime
, stoptime => $stopTime , stoptime => $stopTime
}); });
}); print " build ID = ", $build->id, "\n";
return 0;
my $dbh, my $description, my $jobName;
$dbh->begin_work;
$dbh->prepare("insert into builds(timestamp, jobName, description, drvPath, outPath, isCachedBuild, buildStatus, errorMsg, startTime, stopTime) values(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)")
->execute(time(), $jobName, $description, $drvPath, $outPath, $isCachedBuild, $buildStatus, "", $startTime, $stopTime);
my $buildId = $dbh->last_insert_id(undef, undef, undef, undef);
print " db id = $buildId\n";
my $logPath = "/nix/var/log/nix/drvs/" . basename $drvPath; my $logPath = "/nix/var/log/nix/drvs/" . basename $drvPath;
if (-e $logPath) { if (-e $logPath) {
print " LOG $logPath\n"; print " LOG $logPath\n";
$dbh->prepare("insert into buildLogs(buildId, logPhase, path, type) values(?, ?, ?, ?)") $db->resultset('Buildlogs')->create(
->execute($buildId, "full", $logPath, "raw"); { buildid => $build->id
, logphase => "full"
, path => $logPath
, type => "raw"
});
} }
if ($buildStatus == 0) { if ($buildStatus == 0) {
$dbh->prepare("insert into buildProducts(buildId, type, subtype, path) values(?, ?, ?, ?)") $db->resultset('Buildproducts')->create(
->execute($buildId, "nix-build", "", $outPath); { buildid => $build->id
, type => "nix-build"
, subtype => ""
, path => $outPath
});
if (-e "$outPath/log") { if (-e "$outPath/log") {
foreach my $logPath (glob "$outPath/log/*") { foreach my $logPath (glob "$outPath/log/*") {
print " LOG $logPath\n"; print " LOG $logPath\n";
$dbh->prepare("insert into buildLogs(buildId, logPhase, path, type) values(?, ?, ?, ?)") $db->resultset('Buildlogs')->create(
->execute($buildId, basename($logPath), $logPath, "raw"); { buildid => $build->id
, logphase => basename($logPath)
, path => $logPath
, type => "raw"
});
} }
} }
} }
$dbh->commit; });
} }