summaryrefslogtreecommitdiff
path: root/build-farm-build.el (follow)
Commit message (Collapse)AuthorAgeFilesLines
* build: Generalize making "latest builds" buttonsAlex Kost2018-09-061-28/+44
| | | | | | | | | | | | | * 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.
* build: Do not use (for latest builds) system if job is specifiedAlex Kost2018-08-281-1/+4
| | | | | * build-farm-build.el (build-farm-build-latest-prompt-args): Return system only if job is not specified.
* Add system buttons to Jobset InfoAlex Kost2018-08-261-1/+31
| | | | | | | | | | * 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'.
* Rename 'build-farm-build-info-insert-builds-button'Alex Kost2018-08-261-32/+35
| | | | | | | | | | | * 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.
* Add new lines after URLs in Info buffersAlex Kost2018-08-261-0/+1
|
* Insert button for Cuirass jobset when neededAlex Kost2018-08-261-2/+5
| | | | | | | | | 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'.
* Read project/jobset according to farm type (Hydra or Cuirass)Alex Kost2018-08-261-4/+12
| | | | | | | | | | | | | | * 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.
* Remove "Farm" from the mode namesAlex Kost2018-08-261-2/+2
| | | | To decrease their lengths.
* Rename 'jobset' interface to 'hydra-jobset'Alex Kost2018-08-261-1/+1
| | | | | | | | | | | | | | | | | | | | 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.
* build: Add "More info" button when neededAlex Kost2018-08-171-0/+25
| | | | | | | | * 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'.
* build: Show more parameters in Build InfoAlex Kost2018-08-171-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.
* Add 'build-farm-set-number-of-builds' commandAlex Kost2018-07-271-2/+11
| | | | | | * 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.
* Fix "Builds" buttons in Build Info bufferAlex Kost2018-07-271-12/+11
| | | | | | | | | | | | | | 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).
* build: Factorize reading a number of buildsAlex Kost2018-07-271-10/+12
| | | | | * build-farm-build.el (build-farm-build-read-number-maybe): New function. (build-farm-build-latest-prompt-args, build-farm-queued-builds): Use it.
* Add 'build-farm-build' commandAlex Kost2018-07-271-1/+8
| | | | | | | * 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.
* Add jobset buttonAlex Kost2018-07-271-1/+2
| | | | | | | | * 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.
* Add project buttonAlex Kost2018-07-271-1/+1
| | | | | | | | * 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.
* Move and rename some info facesAlex Kost2018-07-271-24/+4
| | | | | | | | | | * 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.
* Complete jobset names when possibleAlex Kost2018-07-271-1/+1
| | | | | | | * 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.
* Fix checkdoc warningsAlex Kost2018-07-271-1/+1
|
* Distinguish nix and guix for opening build logsAlex Kost2018-07-271-5/+16
| | | | | | | * 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.
* Use per-buffer build farm URLAlex Kost2018-07-271-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* Add and use 'build-farm-get-display'Alex Kost2018-07-271-11/+5
| | | | | | | | | | | | | 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.
* Add "Builds" button everywhereAlex Kost2018-07-271-30/+66
| | | | | | | | | | | | | | | 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.
* Fix typos in the docstringsAlex Kost2018-07-161-2/+3
|
* Move all url procedures to "build-farm-url.el"Alex Kost2018-07-161-26/+1
| | | | | | | | | | | | | * 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.
* Initial commitAlex Kost2018-07-161-0/+407
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