summaryrefslogtreecommitdiff
path: root/build-farm-build.el (follow)
Commit message (Expand)AuthorAgeFilesLines
* build: Generalize making "latest builds" buttons•••* 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. Alex Kost2018-09-061-28/+44
* build: Do not use (for latest builds) system if job is specified•••* build-farm-build.el (build-farm-build-latest-prompt-args): Return system only if job is not specified. Alex Kost2018-08-281-1/+4
* Add system buttons to Jobset Info•••* 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'. Alex Kost2018-08-261-1/+31
* Rename 'build-farm-build-info-insert-builds-button'•••* 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. Alex Kost2018-08-261-32/+35
* Add new lines after URLs in Info buffersAlex Kost2018-08-261-0/+1
* Insert button for Cuirass jobset when needed•••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'. Alex Kost2018-08-261-2/+5
* Read project/jobset according to farm type (Hydra or Cuirass)•••* 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. Alex Kost2018-08-261-4/+12
* Remove "Farm" from the mode names•••To decrease their lengths. Alex Kost2018-08-261-2/+2
* Rename 'jobset' interface to 'hydra-jobset'•••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. Alex Kost2018-08-261-1/+1
* build: Add "More info" button when needed•••* 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'. Alex Kost2018-08-171-0/+25
* build: Show more parameters in Build Info•••* 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. Alex Kost2018-08-171-6/+42
* Add 'build-farm-set-number-of-builds' command•••* build-farm-build.el (build-farm-build-read-number): New function. (build-farm-build-read-number-maybe): Use it. (build-farm-set-number-of-builds): New command. Alex Kost2018-07-271-2/+11
* Fix "Builds" buttons in Build Info buffer•••This is a followup to commit c9a3501ef48092d99ad8ae3680752c3db2201c0f. These "Builds" buttons are intended to be specialized (to search only for builds by project, system, etc.). Instead they all were made the same. * build-farm-build.el (build-farm-build-info-insert-button): Remove. (build-farm-build-info-insert-project, build-farm-build-info-insert-jobset) (build-farm-build-info-insert-job, build-farm-build-info-insert-system): Use 'build-farm-build-info-insert-builds-button' instead (with the appropriate arguments). Alex Kost2018-07-271-12/+11
* build: Factorize reading a number of builds•••* build-farm-build.el (build-farm-build-read-number-maybe): New function. (build-farm-build-latest-prompt-args, build-farm-queued-builds): Use it. Alex Kost2018-07-271-10/+12
* Add 'build-farm-build' command•••* build-farm.el (build-farm-get-entries-1): Wrap a single ID entry into a list. * build-farm-build.el (build-farm-build-search-types): Add 'id' search type. (build-farm-build): New command. Alex Kost2018-07-271-1/+8
* Add jobset button•••* build-farm.el (build-farm-info-jobset): Inherit from 'link' face. (build-farm-jobset): New button type. (build-farm-info-insert-jobset): New procedure. * build-farm-build.el (build-farm-build-info-insert-jobset): Use it. * build-farm-project.el (build-farm-project-info-insert-jobset): Use it. Alex Kost2018-07-271-1/+2
* Add project button•••* build-farm.el (build-farm-info-project): Inherit from 'button' face. (build-farm-project-button-action): New procedure. (build-farm-project): New button type. * build-farm-build.el (build-farm-build-info-insert-project): Use it. * build-farm-jobset.el (build-farm-jobset-info-insert-project): Use it. Alex Kost2018-07-271-1/+1
* Move and rename some info faces•••* build-farm-build.el (build-farm-build-info-project) (build-farm-build-info-jobset, build-farm-build-info-job) (build-farm-build-info-system): Move and rename to... * build-farm.el (build-farm-info-project) (build-farm-info-jobset, build-farm-info-job) (build-farm-info-system): ... this. Alex Kost2018-07-271-24/+4
* Complete jobset names when possible•••* build-farm.el (build-farm-jobset-names): New function. (build-farm-read-jobset): Add 'project' argument. * build-farm-build.el (build-farm-build-latest-prompt-args): Adjust accordingly. Alex Kost2018-07-271-1/+1
* Fix checkdoc warningsAlex Kost2018-07-271-1/+1
* Distinguish nix and guix for opening build logs•••* build-farm-url.el (build-farm-build-log-url): Add 'raw' keyword argument. * build-farm-build.el (build-farm-build-view-log): Open build log in emacs or browser, and use 'guix-build-log-mode' depending on the package manager of the build farm. Alex Kost2018-07-271-5/+16
* Use per-buffer build farm URL•••Previously, a single global 'build-farm-url' variable was used everywhere. But this is not correct: when you change this url, it should take effect only for the future requests, and the existing Farm buffers should use the previous url. So this root url should be local for every build/jobset/project list/info, which is accomplished by this commit. * build-farm-url.el (build-farm-url): Add 'root-url' argument. (build-farm-api-url, build-farm-build-url, build-farm-build-log-url) (build-farm-build-latest-api-url, build-farm-build-queue-api-url) (build-farm-jobset-url, build-farm-jobset-api-url) (build-farm-project-url): Add 'root-url' keyword argument. * build-farm.el: Define accessors for entry args. Specifically... (build-farm-current-url): New function. (build-farm-get-entries, build-farm-get-display, build-farm-message) (build-farm-search-url): New 'root-url' argument. * build-farm-build.el: Adjust to use 'root-url' arguments where appropriate. * build-farm-jobset.el: Likewise. * build-farm-project.el: Likewise. Alex Kost2018-07-271-6/+12
* Add and use 'build-farm-get-display'•••Instead of 'build-farm-ENTRY-TYPE-get-display' functions. * build-farm.el (build-farm-get-display): New procedure. * build-farm-build.el (build-farm-build-get-display): Remove. (build-farm-build-info-insert-builds-button) (build-farm-latest-builds, build-farm-queued-builds): Adjust accordingly. * build-farm-jobset.el (build-farm-jobset-get-display): Remove. (build-farm-jobsets): Adjust accordingly. * build-farm-project.el (build-farm-project-get-display): Remove. (build-farm-projects): Adjust accordingly. Alex Kost2018-07-271-11/+5
* Add "Builds" button everywhere•••I.e., to "Build Info", "Jobset Info", "Project Info" buffers. * build-farm-build.el (build-farm-build-define-button): Remove macro. (build-farm-build-info-insert-builds-button) (build-farm-build-info-insert-button) (build-farm-build-info-insert-project) (build-farm-build-info-insert-jobset) (build-farm-build-info-insert-job) (build-farm-build-info-insert-system): New procedures. * build-farm-jobset.el (build-farm-jobset-info-insert-project): Use 'build-farm-build-info-insert-builds-button'. * build-farm-project.el (build-farm-project-info-insert-jobset): Likewise. Alex Kost2018-07-271-30/+66
* Fix typos in the docstringsAlex Kost2018-07-161-2/+3
* Move all url procedures to "build-farm-url.el"•••* build-farm.el (build-farm-url-alist, build-farm-guess-url) (build-farm-urls, build-farm-url, build-farm-read-url) (build-farm-set-url, build-farm-type-by-url, build-farm-api-url) (build-farm-receive-data): Move to... * build-farm-build.el (build-farm-build-url, build-farm-build-log-url) (build-farm-build-latest-api-url, build-farm-build-queue-api-url): Move to... * build-farm-jobset.el (build-farm-jobset-url) (build-farm-jobset-api-url): Move to... * build-farm-url.el: ... here. New file. Alex Kost2018-07-161-26/+1
* Initial commit•••The code has been copied from Emacs-Guix package and renamed from 'guix-hydra-...' to 'build-farm-...'. New files: * build-farm.el * build-farm-build.el * build-farm-jobset.el * build-farm-utils.el * .gitignore Alex Kost2018-07-161-0/+407