diff options
| author | Alex Kost <alezost@gmail.com> | 2018-12-18 22:55:50 +0300 |
|---|---|---|
| committer | Alex Kost <alezost@gmail.com> | 2018-12-18 22:55:50 +0300 |
| commit | 6a1b593d31837def0cd329e35b070dc897fbf7e7 (patch) | |
| tree | 3b3c6277ad532a57c6cbe668f89c7ef6b5d2bdfe | |
| parent | url: Add and use "https://ci.guix.info" (diff) | |
| download | emacs-build-farm-6a1b593d31837def0cd329e35b070dc897fbf7e7.tar.gz | |
Update Cuirass evaluations for the latest API
Follow the changes introduced by
<https://git.savannah.gnu.org/cgit/guix/guix-cuirass.git/commit/?id=8d40c49170971ad7bbf8b97336934dbb3d949fc1>.
* build-farm-evaluation.el: Handle the new 'in-progress' an 'checkouts'
parameters.
* build-farm.el: Update required BUI version to 1.2.1 as its new feature
is used to display 'commit' parameter in the evaluation list buffer.
| -rw-r--r-- | build-farm-evaluation.el | 47 | ||||
| -rw-r--r-- | build-farm.el | 2 |
2 files changed, 43 insertions, 6 deletions
diff --git a/build-farm-evaluation.el b/build-farm-evaluation.el index 268d775..7105aa2 100644 --- a/build-farm-evaluation.el +++ b/build-farm-evaluation.el @@ -28,7 +28,7 @@ (require 'build-farm-build) (defgroup build-farm-evaluation nil - "Interface for Hydra and Cuirass evaluations." + "Settings for Hydra and Cuirass evaluations." :group 'build-farm) (defcustom build-farm-number-of-evaluations 32 @@ -67,7 +67,9 @@ command. If nil, always prompt for the number of evaluations." (build-farm-define-entry-type cuirass-evaluation :search-types '((latest . build-farm-latest-evaluations-api-url)) - :filter-names '((specification . jobset))) + :filter-names '((specification . jobset)) + :filter-boolean-params '(in-progress) + :boolean-params '(in-progress)) ;;; Cuirass Evaluation 'info' @@ -80,7 +82,15 @@ command. If nil, always prompt for the number of evaluations." build-farm-evaluation-info-insert-url nil (jobset format (build-farm-cuirass-evaluation-info-insert-jobset)) - (commits format (format)))) + (in-progress format (format)) + (checkouts + simple (build-farm-cuirass-evaluation-info-insert-checkouts)))) + +(bui-define-interface build-farm-cuirass-evaluation-checkouts info + :format '((commit format (format)) + (input format (format)) + (directory format (format bui-file))) + :reduced? t) (defun build-farm-cuirass-evaluation-info-insert-jobset (jobset) "Insert info about Cuirass JOBSET at point." @@ -89,6 +99,13 @@ command. If nil, always prompt for the number of evaluations." (build-farm-info-insert-builds-button :jobset jobset)) +(defun build-farm-cuirass-evaluation-info-insert-checkouts (checkouts) + "Insert 'cuirass-evaluation' CHECKOUTS at point." + (dolist (checkout checkouts) + (bui-newline) + (bui-info-insert-entry + checkout 'build-farm-cuirass-evaluation-checkouts 1))) + ;;; Cuirass Evaluation 'list' @@ -96,9 +113,29 @@ command. If nil, always prompt for the number of evaluations." :describe-function 'build-farm-list-describe :mode-name "Cuirass-Evaluation-List" :buffer-name "*Farm Evaluations*" - :format '((id nil 10 bui-list-sort-numerically-0) + :format '((id build-farm-cuirass-evaluation-list-id + 10 bui-list-sort-numerically-0) (jobset nil 30 t) - (commits nil 30 t))) + (commit build-farm-cuirass-evaluation-list-commit 30 t))) + +(defface build-farm-cuirass-evaluation-list-in-progress + '((t :inherit font-lock-variable-name-face)) + "Face used for evaluation ID if it is in progress." + :group 'build-farm-cuirass-evaluation-list-faces) + +(defun build-farm-cuirass-evaluation-list-id (id entry) + "Return first ID of evaluation ENTRY. +Fontify it depending on 'in-progress' status." + (bui-get-string + id + (and (bui-entry-non-void-value entry 'in-progress) + 'build-farm-cuirass-evaluation-list-in-progress))) + +(defun build-farm-cuirass-evaluation-list-commit (_ entry) + "Return first commit of evaluation ENTRY." + (let ((checkouts (bui-entry-non-void-value entry 'checkouts))) + (when checkouts + (bui-entry-non-void-value (car checkouts) 'commit)))) ;;; Interactive commands diff --git a/build-farm.el b/build-farm.el index 5f76a50..ec5b7f5 100644 --- a/build-farm.el +++ b/build-farm.el @@ -6,7 +6,7 @@ ;; Version: 0.2.1 ;; URL: https://gitlab.com/alezost-emacs/build-farm ;; Keywords: tools -;; Package-Requires: ((emacs "24.4") (bui "1.1.0") (magit-popup "2.1.0")) +;; Package-Requires: ((emacs "24.4") (bui "1.2.1") (magit-popup "2.1.0")) ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by |
