summaryrefslogtreecommitdiff
path: root/build-farm-utils.el (unfollow)
Commit message (Collapse)AuthorFilesLines
2018-12-18Update Cuirass evaluations for the latest APIAlex Kost2-6/+43
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.
2018-12-09url: Add and use "https://ci.guix.info"Alex Kost1-2/+2
* build-farm-url.el (build-farm-url-alist): Add it. (build-farm-guess-url): Use it as the default.
2018-09-09Update version to 0.2.1Alex Kost1-1/+1
This should have been done before "v0.2.1" tag was made on the previous commit, but well...
2018-09-06build: Generalize making "latest builds" buttonsAlex Kost3-30/+46
* build-farm-build.el (build-farm-build-button-action): Add optional 'type' argument. (build-farm-define-build-button): New macro. Use it to generate buttons and actions for them for 'system' and 'job'. (build-farm-info-insert-builds-button): Remove. * build-farm-jobset.el (build-farm-cuirass-jobset-args-info-format): Use 'build-farm-system' button instead. * build-farm.el (build-farm-info-job): Inherit 'button' face.
2018-09-06'build-farm-current-url' returns default URL as a fallbackAlex Kost1-1/+12
* build-farm.el (build-farm-current-url): Return 'build-farm-url' if current buffer is not a "build-farm" buffer.
2018-09-05Add another system supported by Guix ("aarch64-linux")Alex Kost1-2/+9
* build-farm.el (build-farm-guix-system-types): Add "aarch64-linux".
2018-08-30README: Add "Installation" section and some badgesAlex Kost1-2/+25
2018-08-28popup: Switch keys for jobset and jobAlex Kost1-2/+2
* build-farm-popup.el (build-farm-build-popup): Use "j" for job and "J" for jobset because: 1) jobset is, like, bigger than job; 2) jobset builds can be easily fetched from "jobset-list" buffer.
2018-08-28build: Do not use (for latest builds) system if job is specifiedAlex Kost1-1/+4
* build-farm-build.el (build-farm-build-latest-prompt-args): Return system only if job is not specified.
2018-08-27Fix 'build-farm-job-regexp'Alex Kost1-1/+5
This is a followup to commit 4fff68f8401a772d92a8698e0391d260fae8ef69. * build-farm.el (build-farm-job-regexp): Construct regexp depending on 'build-farm-guix-system-types' and 'build-farm-nix-system-types' variables. Otherwise job specification may be miss-interpreted.
2018-08-27popup: Prompt for missing latest build args if neededAlex Kost1-3/+2
* build-farm-popup.el (build-farm-popup-latest-builds): Pass args to 'build-farm-build-latest-prompt-args' to make sure all needed args are specified (for example, if only a job name without system is set).
2018-08-26Update version to 0.2Alex Kost1-1/+1
2018-08-26Add system buttons to Jobset InfoAlex Kost3-3/+33
* build-farm.el (build-farm-info-system): Inherit from 'button' face. * build-farm-build.el (build-farm-system): New button type. (build-farm-build-button-system-action) (build-farm-info-insert-system-button) (build-farm-info-insert-systems): New procedures. * build-farm-jobset.el (build-farm-cuirass-jobset-args-info-format): Use 'build-farm-info-insert-systems'.
2018-08-26Rename 'build-farm-build-info-insert-builds-button'Alex Kost4-36/+39
* build-farm-build.el (build-farm-build-info-insert-builds-button): Rename to... (build-farm-info-insert-builds-button): ... this. (build-farm-build-button-action): New procedure (the code is extracted from the above procedure). * build-farm-evaluation.el: Adjust accordingly. * build-farm-jobset.el: Likewise. * build-farm-project.el: Likewise.
2018-08-26jobset: Add "B" key binding to Jobset ListAlex Kost1-0/+26
* build-farm-jobset.el (build-farm-cuirass-jobset-list-latest-builds): New command. (build-farm-cuirass-jobset-list-mode-map): Bind it to "B". (build-farm-cuirass-jobset-list-default-hint): New variable. (build-farm-cuirass-jobset-list-hint): New procedure.
2018-08-26popup: Handle null number of buildsAlex Kost1-2/+5
* build-farm-popup.el (build-farm-popup-latest-builds) (build-farm-popup-queued-builds): Prompt for the number of builds if it is not set.
2018-08-26Add interface for Cuirass evaluationsAlex Kost5-17/+190
* build-farm-url.el (build-farm-evaluation-url) (build-farm-latest-evaluations-api-url): New procedures. * build-farm-evaluation.el: New file. (build-farm-latest-evaluations): New command. * build-farm-popup.el (build-farm-popup): Add sub-popup for evaluations. (build-farm-evaluation-popup-maybe) (build-farm-popup-format-number-of-evaluations) (build-farm-popup-latest-evaluations): New procedures.
2018-08-26jobset: Add ID parameter if it is missingAlex Kost1-1/+11
* build-farm-jobset.el (build-farm-cuirass-jobset-filter-id): New procedure. (build-farm-cuirass-jobset-filters): Add it.
2018-08-26Add new lines after URLs in Info buffersAlex Kost3-0/+3
2018-08-26url: Use "https://berlin.guixsd.org" as the default farm for GuixAlex Kost1-1/+2
Since "https://hydra.gnu.org" is very slow or even unresponsive most of the times.
2018-08-26Insert button for Cuirass jobset when neededAlex Kost2-5/+22
Cuirass and Hydra jobsets are different things, so make a button for Cuirass jobset specifically. * build-farm.el (build-farm-info-insert-cuirass-jobset): New procedure. * build-farm-build.el (build-farm-build-info-insert-jobset): Use it if current build farm type is 'cuirass'.
2018-08-26project: Add a button to list jobsetsAlex Kost1-0/+10
* build-farm-project.el (build-farm-project-info-insert-jobsets): Insert "List" button when there are more than 1 jobset.
2018-08-26Cache cuirass jobsetsAlex Kost1-23/+41
* build-farm.el (build-farm-get-entries): Adjust to handle Hydra projects and Cuirass jobsets similarly. (build-farm-get-project-entries-once): Rename to... (build-farm-get-root-entries-once): ... this. (build-farm-project-names, build-farm-jobset-names): Adjust accordingly.
2018-08-26README: Mention differences between Cuirass and HydraAlex Kost1-0/+13
2018-08-26jobset: Add "Builds" button to Cuirass Jobset InfoAlex Kost1-0/+8
* build-farm-jobset.el (build-farm-cuirass-jobset-info-insert-builds): New procedure. (build-farm-cuirass-jobset-info-format): Add it.
2018-08-26Read project/jobset according to farm type (Hydra or Cuirass)Alex Kost4-27/+53
* build-farm.el (build-farm-check-project-support): New procedure. (build-farm-read-project, build-farm-read-jobset): Use keyword arguments. * build-farm-build.el (build-farm-build-latest-prompt-args): Prompt for project only for Hydra farm. * build-farm-popup.el (build-farm-popup-read-jobset): Likewise. (build-farm-popup-read-project): New procedure. * build-farm-project.el (build-farm-projects, build-farm-project): Check if current farm type is Hydra.
2018-08-26Add interface for Cuirass jobsetsAlex Kost2-5/+121
* build-farm-url.el (build-farm-cuirass-jobsets-url): New function. * build-farm-jobset.el: Add 'cuirass-jobset-info' and 'cuirass-jobset-list' interfaces.
2018-08-26Remove "Farm" from the mode namesAlex Kost2-4/+4
To decrease their lengths.
2018-08-26Rename 'jobset' interface to 'hydra-jobset'Alex Kost5-68/+82
Cuirass and Hydra jobsets are completely different, so there will be a separate interface for Cuirass jobsets. * build-farm.el: Update Emacs requirement to 24.4 because 'subr-x' library is needed now. (build-farm-info-insert-jobset): Rename to... (build-farm-info-insert-hydra-jobset): ... this. * build-farm-build.el (build-farm-build-info-insert-jobset): Adjust accordingly. * build-farm-project.el (build-farm-project-info-insert-jobset): Likewise. * build-farm-url.el (build-farm-jobset-api-url): Rename to... (build-farm-hydra-jobset-api-url): ... this. * build-farm-jobset.el: Rename 'jobset' to 'hydra-jobset' everywhere.
2018-08-20url: Use nil for 'json-false' valueAlex Kost1-3/+4
* build-farm-url.el (build-farm-receive-data): Let-bind 'json-false' as its default value is ':json-false'.
2018-08-17build: Add "More info" button when neededAlex Kost2-0/+29
* build-farm.el (build-farm-current-url-type): New procedure. * build-farm-build.el (build-farm-build-info-insert-more-button) (build-farm-build-info-update-build): New procedures. (build-farm-build-info-format): Add 'build-farm-build-info-insert-more-button'.
2018-08-17build: Show more parameters in Build InfoAlex Kost1-6/+42
* build-farm-build.el (build-farm-build-filter-names): Rename 'time' to 'queued-time'. Add 'start-time', 'stop-time', 'derivation', 'outputs', 'release-name'. (build-farm-build-info-titles): Change titles for time parameters. (build-farm-build-info-output-format): New variable. (build-farm-build-info-insert-output) (build-farm-build-info-insert-outputs): New procedures. (build-farm-build-info-format): Adjust to display the new parameters.
2018-08-13project: Display "M-x build-farm-project" in Info bufferAlex Kost1-1/+2
As we always want to display a single project in Info buffer. Previously, it could be displayed in a List buffer depending on 'build-farm-project-list-show-single' variable. * build-farm-project.el (build-farm-project): Use 'bui-get-display-entries' directly instead of 'build-farm-get-display' wrapper.
2018-08-13popup: Use variable names instead of their descriptionsAlex Kost1-9/+9
* build-farm-popup.el (build-farm-popup-option-value): Replace with... (build-farm-popup-variable-value): ... this. (build-farm-popup-format-url): Use it. (build-farm-popup-format-number-of-builds): Use it.
2018-07-27README: Fix org markupAlex Kost1-14/+14
I forgot that this is 'org' and not 'markdown' * README.org: Use "=" instead of "`". Also use org links for URLs in the table.