summaryrefslogtreecommitdiff
Commit message (Expand)AuthorAgeFilesLines
...
* 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-272-6/+16
* Do not hardcode project names•••Receive them from a build farm instead. * build-farm.el (build-farm-projects): Remove variable. (build-farm-get-project-entries-once) (build-farm-project-names): New procedures. (build-farm-read-project): Use it. Alex Kost2018-07-271-4/+20
* Cache projects•••* build-farm.el (build-farm-get-entries-1): New procedure. (build-farm-get-entries): Use it. Cache projects if needed. (build-farm-cache): New variable. (build-farm-cache-get, build-farm-cache-set): New procedures. (build-farm-clear-cache): New command. Alex Kost2018-07-271-8/+50
* Fix checkdoc warningsAlex Kost2018-07-273-15/+16
* 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-272-8/+21
* Factorize defining system types•••* build-farm-url.el (build-farm-url-package-manager): New function. * build-farm.el (build-farm-system-types): Use it. Alex Kost2018-07-272-10/+18
* 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-275-59/+102
* 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-274-25/+15
* Use key arguments for 'build-farm-jobset-url'•••This should have been done in commit 43684ea5d4b9e67ef4ca2a9583e5ce7af433a255. * build-farm-url.el (build-farm-jobset-url): Use key arguments. * build-farm-jobset.el (build-farm-jobset-info-insert-url): Adjust accordingly. * build-farm-project.el (build-farm-project-info-insert-jobset): Likewise. Alex Kost2018-07-273-9/+10
* Distinguish system types supported by Nix and Guix•••* build-farm.el (build-farm-system-types): Remove variable. (build-farm-guix-system-types, build-farm-nix-system-types): New variables. (build-farm-system-types): New function. (build-farm-read-system): Use it. (build-farm-job-regexp): Adjust to avoid using system types. Alex Kost2018-07-271-5/+29
* 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-273-41/+76
* project: Add "B" key to the List buffer•••To show latest builds. * build-farm-project.el (build-farm-project-list-read-jobset): New procedure. (build-farm-project-list-latest-builds): New command. (build-farm-project-list-default-hint): Add it. (build-farm-project-list-mode-map): Bind it to "B". Alex Kost2018-07-161-1/+23
* Fix typos in the docstringsAlex Kost2018-07-162-5/+7
* Do not require match for system/project readers•••* build-farm.el (build-farm-read-project, build-farm-read-system): Do not require match as the input may not necessarily be one of the completions. Alex Kost2018-07-161-0/+2
* Use "project/jobset" for jobset ID•••* build-farm-url.el (build-farm-jobset-url): Adjust to accept a single argument. * build-farm-jobset.el (build-farm-jobset-id): New function. (build-farm-jobset-filter-id): Use it. (build-farm-jobset-info-insert-url): Pass only jobset ID to 'build-farm-jobset-url'. Alex Kost2018-07-162-7/+33
* Add interface for projects ('build-farm-projects' command)•••* build-farm-url.el (build-farm-project-url): New function. * build-farm-project.el: New file. Alex Kost2018-07-163-4/+165
* url: Pass extra header "Accept: application/json"•••(as Hydra uses this feature to return json data from non-api URLs). Also check if the returned content type is "application/json" (as Cuirass does not use this feature). * build-farm-url.el (build-farm-retrieve-url): New procedure. (build-farm-receive-data): Pass "Accept" header and check for content type. Alex Kost2018-07-161-7/+46
* url: Improve url type definer•••* build-farm-url.el (build-farm-type-by-url): Rename to... (build-farm-url-type): ... this. Make 'url' argument optional. Check if URL contains "cuirass". Alex Kost2018-07-161-7/+10
* 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-164-138/+158
* Add 'build-farm-set-url' command•••* build-farm.el (build-farm-read-url): New function. (build-farm-set-url): New command. Alex Kost2018-07-161-0/+14
* Try to guess a package manager and a build farm url•••* build-farm-utils.el (build-farm-preferred-package-manager): New variable. * build-farm.el (build-farm-urls): Rename variable to... (build-farm-url-alist): ... this. (build-farm-guess-url, build-farm-urls, build-farm-type-by-url): New procedures. Alex Kost2018-07-162-8/+35
* 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-165-0/+1099