diff options
author | Christopher Baines <mail@cbaines.net> | 2020-04-16 21:42:26 +0100 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2020-04-16 21:42:26 +0100 |
commit | 6ddf31cfbb963faa61f078538e5890d6cb656467 (patch) | |
tree | f849e8f8fe81a30b73c663321bd748b266e0a2a1 /guix-build-coordinator/hooks.scm | |
parent | e89225ea04c03020c03b0d3b20ddc201e593f8db (diff) | |
download | build-coordinator-6ddf31cfbb963faa61f078538e5890d6cb656467.tar build-coordinator-6ddf31cfbb963faa61f078538e5890d6cb656467.tar.gz |
Implement a couple of basic hooks
This allows configurable code to be executed when builds succeed or fail.
Diffstat (limited to 'guix-build-coordinator/hooks.scm')
-rw-r--r-- | guix-build-coordinator/hooks.scm | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/guix-build-coordinator/hooks.scm b/guix-build-coordinator/hooks.scm new file mode 100644 index 0000000..ed0b890 --- /dev/null +++ b/guix-build-coordinator/hooks.scm @@ -0,0 +1,42 @@ +;;; Guix Build Coordinator +;;; +;;; Copyright © 2020 Christopher Baines <mail@cbaines.net> +;;; +;;; This file is part of the guix-build-coordinator. +;;; +;;; The Guix Build Coordinator is free software; you can redistribute +;;; it and/or modify it under the terms of the GNU General Public +;;; License as published by the Free Software Foundation; either +;;; version 3 of the License, or (at your option) any later version. +;;; +;;; The Guix Build Coordinator is distributed in the hope that it will +;;; be useful, but WITHOUT ANY WARRANTY; without even the implied +;;; warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +;;; See the GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with the guix-data-service. If not, see +;;; <http://www.gnu.org/licenses/>. + +(define-module (guix-build-coordinator hooks) + #:use-module (guix-build-coordinator datastore) + #:export (default-build-success-hook + default-build-failure-hook)) + +(define (default-build-success-hook datastore build-id) + (let ((agent-id + (datastore-agent-for-build datastore build-id))) + (display + (simple-format #f + "build ~A succeeded (on agent ~A)\n" + build-id agent-id) + (current-error-port)))) + +(define* (default-build-failure-hook datastore build-id) + (let ((agent-id + (datastore-agent-for-build datastore build-id))) + (display + (simple-format #f + "build ~A failed (on agent ~A)\n" + build-id agent-id) + (current-error-port)))) |