diff --git a/Makefile.am b/Makefile.am index 17a73f09f5b8a6da49bbfe99987bf4d8fc8a18ee..72cb5a61f2699f0a58e3e1cdc29cb1ab4fd436ae 100644 --- a/Makefile.am +++ b/Makefile.am @@ -85,7 +85,8 @@ dist_sql_DATA = \ src/sql/upgrade-13.sql \ src/sql/upgrade-14.sql \ src/sql/upgrade-15.sql \ - src/sql/upgrade-16.sql + src/sql/upgrade-16.sql \ + src/sql/upgrade-17.sql dist_css_DATA = \ src/static/css/cuirass.css \ diff --git a/src/cuirass/base.scm b/src/cuirass/base.scm index c3ce9007778af11f397f78a0b37e100f45c8657b..a134440c4d82b0ce8cae6a1c726d9fbdd32590ad 100644 --- a/src/cuirass/base.scm +++ b/src/cuirass/base.scm @@ -583,7 +583,8 @@ updating the database accordingly." (db-update-build-status! drv (build-status started))) (log-message "bogus build-started event for '~a'" drv))) (('build-remote drv host _ ...) - (log-message "'~a' offloaded to '~a'" drv host)) + (log-message "'~a' offloaded to '~a'" drv host) + (db-update-build-machine! drv host)) (('build-succeeded drv _ ...) (if (valid? drv) (begin diff --git a/src/cuirass/database.scm b/src/cuirass/database.scm index 7d9427ba700e09a684d7f3f5a836d3f735974f25..4ef5229f14d8b3eb8f4e8ae13bc2207697562c8e 100644 --- a/src/cuirass/database.scm +++ b/src/cuirass/database.scm @@ -60,6 +60,7 @@ db-add-build-product db-register-builds db-update-build-status! + db-update-build-machine! db-get-output db-get-inputs db-get-build @@ -802,6 +803,12 @@ log file for DRV." (#:event . ,(assq-ref status-names status))))))))) +(define* (db-update-build-machine! drv machine) + "Update the database so that DRV's machine is MACHINE." + (with-db-writer-worker-thread db + (sqlite-exec db "UPDATE Builds SET machine=" machine + "WHERE derivation=" drv ";"))) + (define (db-get-output path) "Retrieve the OUTPUT for PATH." (with-db-worker-thread db diff --git a/src/schema.sql b/src/schema.sql index 6b08b7eb707e2c0f3ce459482b3e5d3e350fc3d0..51d0c805afa398711ddedfc74c49fafd1c866076 100644 --- a/src/schema.sql +++ b/src/schema.sql @@ -61,6 +61,7 @@ CREATE TABLE Builds ( evaluation INTEGER NOT NULL, job_name TEXT NOT NULL, system TEXT NOT NULL, + machine TEXT, --optional, machine performing the build. nix_name TEXT NOT NULL, log TEXT NOT NULL, status INTEGER NOT NULL, diff --git a/src/sql/upgrade-17.sql b/src/sql/upgrade-17.sql new file mode 100644 index 0000000000000000000000000000000000000000..f74bb92a5ba1f6219681c19af562a07a9de5c023 --- /dev/null +++ b/src/sql/upgrade-17.sql @@ -0,0 +1,5 @@ +BEGIN TRANSACTION; + +ALTER TABLE Builds ADD machine TEXT DEFAULT NULL; + +COMMIT;