aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* 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'.
* doc: Guile 2.2 is needed.Ludovic Courtès2019-08-17
| | | | | | This is a followup to ee11ba1d93b24753eafcd77eef8543e5cac5ba4c. * README: Ask for Guile 2.2.
* 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.
* Separate web interface.Ricardo Wurmus2019-08-10
| | | | | | | * bin/cuirass.in (show-help): Document "--web" option. (%options): Default to running without web interface. (main): Either run the web interface or build packages. * README: Mention the "--web" option.
* 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.
* examples: random: Fail evaluation once in a while.Ludovic Courtès2018-11-07
| | | | | | * examples/random-jobs.scm (make-random-jobs): Fail once in a while. (%seed, %state): New variables. (random-derivation): Use %SEED.
* 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.
* examples: random: Produce derivations that sometimes fail.Ludovic Courtès2018-11-07
| | | | * examples/random-jobs.scm (random-derivation): Fail randomly.
* 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.
* http: Remove useless lambda expression.Clément Lassieur2018-11-07
| | | | * src/cuirass/http.scm (run-cuirass-server): Remove useless lambda expression.
* base: Distinguish between 'failed' and 'failed-dependency'.Ludovic Courtès2018-10-08
| | | | | * src/cuirass/base.scm (update-build-statuses!): Call 'log-file' and use that to distinguish between 'failed' and 'failed-dependency'.
* database: Return #f when one row is expected and there is none.Clément Lassieur2018-09-30
| | | | | | | * src/cuirass/database.scm (expect-one-row): New procedure. (db-get-build, db-get-evaluations-id-min, db-get-evaluations-id-max, db-get-builds-min, db-get-builds-max, db-get-evaluation-specification): Use it.