aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* templates: Failed evaluations link to their log.Ludovic Courtès2019-10-23
| | | | | * src/cuirass/templates.scm (evaluation-badges): Link to /eval/ID/log/raw in the 'zero?' case.
* http: Serve evaluation logs at /eval/ID/log/raw.Ludovic Courtès2019-10-23
| | | | | | | * src/cuirass/base.scm (evaluation-log-file): Export. * src/cuirass/http.scm (url-handler)[respond-gzipped-file]: New procedure. Add handler for /eval/ID/log/raw.
* base: Log the evaluation ID upon evaluation failure.Ludovic Courtès2019-10-23
| | | | | | * src/cuirass/base.scm (&evaluation-error)[id]: New field. (evaluate): Specify the 'id' field. (process-specs): Show the log file name upon evaluation failure.
* base: Write to 'evaluate' output to /var/log/cuirass.Ludovic Courtès2019-10-23
| | | | | | | | | | | This fixes a longstanding issue where evalution output would splatter over the /var/log/cuirass.log and be inscrutable. * src/cuirass/base.scm (%cuirass-state-directory): New variable. (evaluation-log-file): New procedure. (evaluate)[log-file, log-pipe]: New variables. Call 'spawn-fiber' with a logging fiber. Wrap 'open-pipe*' call into 'with-error-to-port'. Close 'log-pipe'.
* http: Support fetching builds by derivation.Christopher Baines2019-10-02
| | | | | | | | | There's a one to one mapping of build id to derivation, so allow querying by derivation file name as well. I'm looking at this as I'm interested in getting build information in to the Guix Data Service. * src/cuirass/http.scm (url-handler): Support fetching builds by numeric id or the derivation file name.
* templates: Fix type errors in build details page.Ludovic Courtès2019-09-23
| | | | | | | This is a followup to 858b6b8c8f2ae7b1ddaf4ae363147121be1f1fe8. * src/cuirass/templates.scm (build-details)[blocking-outputs]: Fix type errors when dealing with the result of 'derivation-build-plan'.
* http: Pass 'build-search-results-table' a list, not a vector.Ludovic Courtès2019-08-27
| | | | | * src/cuirass/http.scm (url-handler): Call 'vector->list' on the result of 'handle-builds-search-request', as expected by 'build-search-results-table'.
* http: Pass 'build-eval-table' a list, not a vector.Ludovic Courtès2019-08-27
| | | | | * src/cuirass/http.scm (url-handler): Call 'vector->list' on the result of 'handle-builds-request', as expected by 'build-eval-table'.
* http: Fix type error.Ricardo Wurmus2019-08-27
| | | | | | | This is a follow-up to commit c6f4fa5f577e4752d845fa3ce17c68fcd2079904. * src/cuirass/http.scm (url-handler): SPECIFICATIONS-TABLE expects a list, not a vector.
* templates: Use 'derivation-build-plan'.Ludovic Courtès2019-08-17
| | | | | * src/cuirass/templates.scm (build-details): Use 'derivation-build-plan' instead of 'derivation-prerequisites-to-build'.
* Switch to Guile-JSON 3.x.Ludovic Courtès2019-08-17
| | | | | | | | | | | | | | | | | | | | | | | Guile-JSON 3.x is incompatible with Guile-JSON 1.x, which we relied on until now: it maps JSON dictionaries to alists (instead of hash tables), and JSON arrays to vectors (instead of lists). This commit is about adjusting all the existing code to this new mapping. * src/cuirass/http.scm (evaluation->json-object): New procedure. (handle-builds-request): Pass the result through 'list->vector'. (handle-builds-search-request): Likewise. (url-handler): Likewise for /jobsets, /specifications, /api/evaluations, and /build. For /api/evaluations, use 'evaluation->json-object'. * src/cuirass/utils.scm (object->json-scm): Add 'vector?' case. * tests/http.scm (hash-table-keys, hash-table=?): Remove. (evaluations-query-result): Use vectors for JSON arrays. ("object->json-string"): Expects alists instead of hash tables. ("/build/1"): Use 'lset=' instead of 'hash-table=?'. ("/api/latestbuilds?nr=1&jobset=guix"): Likewise, and expect alists instead of hash tables. ("/api/latestbuilds?nr=1&jobset=gnu"): Likewise. ("/api/evaluations?nr=1"): Likewise. * README: Mention Guile-JSON 3.x.
* http: Import (ice-9 format).Ludovic Courtès2019-08-17
| | | | * src/cuirass/http.scm: Add missing include of (ice-9 format).
* base: Use the new 'store-error' procedure names.Ludovic Courtès2019-08-17
| | | | | | | The 'nix-error' names are now deprecated in Guix. * src/cuirass/base.scm (build-derivations&): Use the new 'store-error' procedure names.
* Fix templates to handle all statuses.Robert Vollmert2019-08-07
| | | | | * src/cuirass/templates.scm: Factor out class and title helpers for build statuses, and handle all the statuses.
* database: query->bind-arguments: Process ^ and $ characters.Ricardo Wurmus2019-06-20
| | | | | * src/cuirass/database.scm (query->bind-arguments): Handle ^ and $ characters in query strings.
* templates: If applicable, disable "Last" and "First" pagination links.Danny Milosavljevic2019-06-19
| | | | | * src/cuirass/templates.scm (pagination): Disable "Last" and "First" if applicable.
* templates: Add link titles to evaluation badges.Tobias Geerinckx-Rice2019-06-19
| | | | * src/cuirass/templates.scm (evaluation-badges): Add ‘title’ attributes.
* templates: Expand search input on focus.Ricardo Wurmus2019-06-19
| | | | | * src/cuirass/templates.scm (html-page): Include CSS for widening the search input field on focus.
* cuirass: Restore search query.Ricardo Wurmus2019-06-19
| | | | | | | | * src/cuirass/templates.scm (search-form): Take the query as an argument and set it as the value (unless #F). (html-page): Optionally take a value for QUERY as an argument. * src/cuirass/http.scm (url-handler): Let "search" handler pass QUERY to HTML-PAGE.
* database: query->bind-arguments: Ignore invalid query terms.Ricardo Wurmus2019-06-19
| | | | | * src/cuirass/database.scm (query->bind-arguments): Ignore invalid query terms.
* templates: Display logs of blocking dependencies.Ricardo Wurmus2019-06-19
| | | | | * src/cuirass/templates.scm (build-details): Determine failed outputs of prerequisites and link to their logs.
* http: Show number of builds.Ricardo Wurmus2019-06-19
| | | | | * src/cuirass/database.scm (db-get-evaluation-summary): New procedure. * src/cuirass/http.scm (url-handler): Display number of builds in tabs.
* cuirass: Remove tabs for canceled, dependency failed, and other failed.Ricardo Wurmus2019-06-19
| | | | | | All of them are included in "failed". * src/cuirass/http.scm (url-handler): Remove extraneous tabs.
* cuirass: Adjust query for scheduled builds.Ricardo Wurmus2019-06-19
| | | | * src/cuirass/http.scm (url-handler): Use "pending" instead of "scheduled".
* cuirass: Display builds in separate tabs.Ricardo Wurmus2019-06-19
| | | | | | * src/cuirass/http.scm (url-handler): Split result for "eval" page in tabs. * src/cuirass/templates.scm (build-eval-table): Remove border from table head; Remove lead paragraph.
* http: Fix navigation URL for build details page.Ricardo Wurmus2019-06-19
| | | | * src/cuirass/http.scm (url-handler): Use "jobset" instead of "spec".
* templates: Link to "details" page in build tables.Ricardo Wurmus2019-06-19
| | | | | * src/cuirass/templates.scm (build-eval-table, build-search-results-table): Link ID to build details URL.
* http: Handle /build/<id>/details URL.Ricardo Wurmus2019-06-18
| | | | | * src/cuirass/http.scm (url-handler): Add handler for /build/<id>/details. * src/cuirass/templates.scm (build-details): New procedure.
* database: db-get-specifications: Order specs by name.Ricardo Wurmus2019-06-18
| | | | * src/cuirass/database.scm (db-get-specifications): Order rows by "name".
* database: Support advanced query strings.Ricardo Wurmus2019-05-21
| | | | | | * src/cuirass/database.scm (query->bind-arguments): New procedure. (db-get-builds-by-search): Support filtering by spec and system. (db-get-builds-query-min, db-get-builds-query-max): Adjust.
* http: Gracefully handle missing query.Ricardo Wurmus2019-05-21
| | | | | * src/cuirass/http.scm (url-handler): Skip computation of builds-id-min and builds-id-max when query is missing.
* templates: Highlight query string.Ricardo Wurmus2019-05-21
| | | | | * src/cuirass/templates.scm (build-search-results-table): Highlight query string.
* cuirass: Add search for builds.Ricardo Wurmus2019-05-17
| | | | | | | | | | * src/cuirass/database.scm (db-get-builds-by-search, db-get-builds-query-min, db-get-builds-query-max): New procedures. * src/cuirass/http.scm (handle-builds-search-request): New procedure. (url-handler): Handle "search" route. * src/cuirass/templates.scm (search-form): New variable. (html-page): Use it. (build-search-results-table): New procedure.
* static: Replace logo.Ricardo Wurmus2019-05-04
| | | | * src/static/images/logo.png: Replace "GuixSD" with "Guix".
* base: Keep going when a Git error is raised.Ludovic Courtès2018-11-20
| | | | | * src/cuirass/base.scm (process-specs): Catch 'git-error around call to 'process'.
* database: Re-throw the message of 'sqlite-error' exceptions.Ludovic Courtès2018-11-16
| | | | | | | | Fixes <https://bugs.gnu.org/33407>. Reported by Björn Höfling <bjoern.hoefling@bjoernhoefling.de>. * src/cuirass/database.scm (catch-sqlite-error): Add missing MESSAGE argument to 'throw'.
* database: Factorize 'sqlite-error' handling.Ludovic Courtès2018-11-16
| | | | | | * src/cuirass/database.scm (catch-sqlite-error): New macro. (db-add-checkout, db-add-output, db-add-build): Use it instead of custom 'catch' block'.
* templates: Mark failures on the evaluation page.Ludovic Courtès2018-11-07
| | | | | * src/cuirass/templates.scm (evaluation-badges): Use a special badge denoting failure when the sum of all jobs is zero.
* database: Remove duplicate #:in-progress entry.Ludovic Courtès2018-11-07
| | | | | * src/cuirass/database.scm (db-get-evaluations-build-summary): Remove duplicate #:in-progress entry.
* base: Clear the "in progress" bit of failed evaluations.Ludovic Courtès2018-11-07
| | | | | | | Fixes <https://bugs.gnu.org/32734>. * src/cuirass/base.scm (evaluate): Call 'db-set-evaluation-done' upon '&evaluation-error'.
* templates: Add link to build log only for completed builds.Ludovic Courtès2018-11-07
| | | | | * src/cuirass/templates.scm (build-eval-table)[table-row]: Define 'completed?'. Add link to build log iff COMPLETED? is true.
* templates: Display dates in a concise way.Ludovic Courtès2018-11-07
| | | | | * src/cuirass/templates.scm (time->string): New procedure. (build-eval-table): Use it instead of 'strftime'.
* templates: Adjust build table headers.Ludovic Courtès2018-11-07
| | | | | | * src/cuirass/templates.scm (build-eval-table)[table-header]: Change "Nixname" to "Name" and "Finished at" to "Completion time". Use strings for each header.
* templates: Display a finish time only for completed builds.Ludovic Courtès2018-11-07
| | | | | * src/cuirass/templates.scm (build-eval-table): Display a finish time only when STATUS is 'succeeded' or 'failed'.
* base: Add missing space in message.Ludovic Courtès2018-11-07
| | | | * src/cuirass/base.scm (spawn-builds): Add missing space in message.
* base: Fix type error in 'update-build-statuses!'.Ludovic Courtès2018-11-07
| | | | | | | This is a followup to be489a26c0e6a5f23a48142a87728a0ec8bc3c9c. * src/cuirass/base.scm (update-build-statuses!): Use DRV, not (derivation-file-name DRV).
* templates: Distinguish among the various failure cases.Ludovic Courtès2018-11-07
| | | | | | * src/cuirass/templates.scm (build-eval-table)[table-row]: Use the 'build-status' macro instead of numeric values. Distinguish the 'cancel' and 'failed-dependency' cases from other failure cases.
* base: Register GC roots for build results.Ludovic Courtès2018-11-07
| | | | | | | | | | | | | Fixes <https://bugs.gnu.org/33124>. * src/cuirass/base.scm (%gc-root-directory, %gc-root-ttl): New variables. (gc-root-expiration-time, register-gc-root): New procedures. (handle-build-event)[gc-roots]: New procedure. Upon 'build-succeeded' events, call 'register-gc-root' and 'maybe-remove-expired-cache-entries'. * bin/cuirass.in (show-help, %options): Add '--ttl'. (main): Parameterize %GC-ROOT-TTL. Create %GC-ROOT-DIRECTORY. * doc/cuirass.texi (Invocation): Document '--ttl'.
* base: Disable builder output.Ludovic Courtès2018-11-07
| | | | | * src/cuirass/base.scm (with-store): Pass #:build-verbosity to 'set-build-options'.
* http: No longer log incoming connections.Ludovic Courtès2018-11-07
| | | | | * src/web/server/fiberized.scm (socket-loop): Remove "HTTP connection" message logging.