mirror of
git://git.savannah.gnu.org/guix/guix-cuirass.git
synced 2023-12-14 06:03:04 +01:00
schema: Builds: Add 'evaluation' column.
* src/schema.sql (Builds): Add 'evaluation' column. * src/cuirass/database.scm (db-add-build): Adapt. * src/cuirass/base.scm (build-packages): Likewise.
This commit is contained in:
parent
5c0a2b5779
commit
24bfb61e8e
3 changed files with 19 additions and 11 deletions
|
@ -121,19 +121,21 @@ if required."
|
|||
(map (λ (job)
|
||||
(let ((log-port (%make-void-port "w0"))
|
||||
(name (assq-ref job #:job-name))
|
||||
(drv (assq-ref job #:derivation)))
|
||||
(drv (assq-ref job #:derivation))
|
||||
(eval-id (assq-ref job #:eval-id)))
|
||||
(simple-format #t "building ~A...\n" drv)
|
||||
(parameterize ((current-build-output-port log-port))
|
||||
(build-derivations store (list drv))
|
||||
(let* ((output (derivation-path->output-path drv))
|
||||
(log (log-file store output))
|
||||
(build `((#:derivation . ,drv)
|
||||
(#:eval-id . ,eval-id)
|
||||
(#:log . ,log)
|
||||
(#:output . ,output)))
|
||||
(id (db-add-build db build)))
|
||||
(close-port log-port)
|
||||
(#:output . ,output))))
|
||||
(db-add-build db build)
|
||||
(simple-format #t "~A\n" output)
|
||||
(acons #:id id build)))))
|
||||
(close-port log-port)
|
||||
build))))
|
||||
jobs))
|
||||
|
||||
(define (process-specs db jobspecs)
|
||||
|
|
|
@ -180,8 +180,10 @@ string."
|
|||
(define (db-add-build db build)
|
||||
"Store BUILD in database DB."
|
||||
(sqlite-exec db "\
|
||||
INSERT INTO Builds (derivation, log, output) VALUES ('~A', '~A', '~A');"
|
||||
INSERT INTO Builds (derivation, evaluation, log, output)\
|
||||
VALUES ('~A', '~A', '~A', '~A');"
|
||||
(assq-ref build #:derivation)
|
||||
(assq-ref build #:eval-id)
|
||||
(assq-ref build #:log)
|
||||
(assq-ref build #:output))
|
||||
(last-insert-rowid db))
|
||||
|
|
|
@ -34,12 +34,16 @@ CREATE TABLE Derivations (
|
|||
FOREIGN KEY (evaluation) REFERENCES Evaluations (id)
|
||||
);
|
||||
|
||||
-- Builds are not in a one to one relationship with derivations in order to
|
||||
-- keep track of non deterministic compilations.
|
||||
CREATE TABLE Builds (
|
||||
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
||||
derivation TEXT NOT NULL,
|
||||
log TEXT NOT NULL,
|
||||
output TEXT, -- NULL if build failed
|
||||
FOREIGN KEY (derivation) REFERENCES Evaluations (derivation)
|
||||
derivation TEXT NOT NULL,
|
||||
evaluation INTEGER NOT NULL,
|
||||
log TEXT NOT NULL,
|
||||
output TEXT, -- NULL if build failed
|
||||
PRIMARY KEY (derivation, evaluation),
|
||||
FOREIGN KEY (derivation) REFERENCES Derivations (derivation),
|
||||
FOREIGN KEY (evaluation) REFERENCES Evaluations (id)
|
||||
);
|
||||
|
||||
COMMIT;
|
||||
|
|
Loading…
Reference in a new issue