* Negative caching: don't perform a build if a dependency already
failed in a previous build. This is essential for Nixpkgs: we don't want to keep doing the same failed dependency (say, Glibc) over and over again for a few hundred jobs.
This commit is contained in:
@ -62,6 +62,7 @@ create table BuildResultInfo (
|
||||
-- 2 = build of some dependency failed
|
||||
-- 3 = other failure (see errorMsg)
|
||||
-- 4 = build cancelled (removed from queue; never built)
|
||||
-- 5 = build not done because a dependency failed previously
|
||||
buildStatus integer,
|
||||
|
||||
errorMsg text, -- error message in case of a Nix failure
|
||||
@ -74,18 +75,22 @@ create table BuildResultInfo (
|
||||
releaseName text, -- e.g. "patchelf-0.5pre1234"
|
||||
|
||||
keep integer not null default 0, -- true means never garbage-collect the build output
|
||||
|
||||
-- If buildStatus == 5, the primary key of the failed build step.
|
||||
failedDepBuild integer,
|
||||
failedDepStepNr integer,
|
||||
|
||||
foreign key (id) references Builds(id) on delete cascade -- ignored by sqlite
|
||||
);
|
||||
|
||||
|
||||
create table BuildSteps (
|
||||
id integer not null,
|
||||
id integer not null, -- !!! rename to "build"
|
||||
stepnr integer not null,
|
||||
|
||||
type integer not null, -- 0 = build, 1 = substitution
|
||||
|
||||
drvPath text,
|
||||
drvPath text,
|
||||
outPath text,
|
||||
|
||||
logfile text,
|
||||
|
Reference in New Issue
Block a user