| Commit message (Expand) | Author | Age |
* | Support publishing evaluation events•••* src/cuirass/database.scm (db-add-evaluation): Record the creation of new
evaluations as events.
(db-set-evaluation-done): Record when evaluations finish as an event.
* src/cuirass/http.scm (url-handler): Add a new /api/evaluation-events page.
support-publishing-build-events-minimal | Christopher Baines | 2019-12-28 |
* | Support publishing build events•••Add a table to store events, which have a type and a JSON blob. These can be
used to record changes, this commit inserts events when new builds are
created, and when the status of builds change.
The EventsOutbox table is then used to track when events have been sent
out. This is done through the new cuirass-send-events script.
* Makefile.am (bin_SCRIPTS): Add bin/cuirass-send-events.
(dist_pkgmodule_DATA): Add src/cuirass/send-events.scm.
(dist_sql_DATA): Add src/sql/upgrade-5.sql.
(EXTRA_DIST): bin/cuirass-send-events.in.
(bin/cuirass-send-events): New rule.
* bin/cuirass-send-events.in: New file.
* src/cuirass/send-events.scm: New file.
* src/sql/upgrade-5.sql: New file.
* src/cuirass/database.scm (changes-count): New procedure.
(db-update-build-status!): Call db-add-event after updating the build status.
(db-add-event): New procedure.
(db-add-build): Insert an event when a new build is inserted.
(db-delete-events-with-ids-<=-to): New procedure.
* src/schema.sql (Events): New table.
| Christopher Baines | 2019-12-28 |
* | base: 'build-derivations&' closes the build output port only once.•••* src/cuirass/base.scm (build-derivations&): Remove extra 'close-port'
call in 'guard' clause.
| Ludovic Courtès | 2019-11-03 |
* | tests: Remove 405 test.•••This is a follow-up to commit c88a7c006ef164015e5c3fb1544b8112bf6ececf.
* tests/http.scm: Remove test for invalid POST to /build/1.
| Ricardo Wurmus | 2019-10-30 |
* | http: Add route for /admin.•••* src/cuirass/http.scm (url-handler): Handle /admin route.
| Ricardo Wurmus | 2019-10-30 |
* | bin: Remove redundant lambda.•••* bin/cuirass.in (main): Remove redundant lambda wrapping in for-each.
| Ricardo Wurmus | 2019-10-30 |
* | http: Handle specification deletion and addition.•••* src/cuirass/http.scm (url-handler): Handle /admin/specifications/add,
/admin/specifications/delete/*, and /admin/specifications.
| Ricardo Wurmus | 2019-10-30 |
* | templates: specifications-table: Add admin features.•••* src/cuirass/templates.scm (specifications-table): Handle optional ADMIN?
argument.
| Ricardo Wurmus | 2019-10-30 |
* | database: Add db-remove-specification.•••* src/cuirass/database.scm (db-remove-specification): New procedure.
| Ricardo Wurmus | 2019-10-30 |
* | http: Be explicit about accepted HTTP methods.•••* src/cuirass/http.scm (url-handler): Match on HTTP method.
| Ricardo Wurmus | 2019-10-30 |
* | templates: Failed evaluations link to their log.•••* src/cuirass/templates.scm (evaluation-badges): Link to
/eval/ID/log/raw in the 'zero?' case.
| Ludovic Courtès | 2019-10-23 |
* | http: Serve evaluation logs at /eval/ID/log/raw.•••* 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.
| Ludovic Courtès | 2019-10-23 |
* | base: Log the evaluation ID upon evaluation failure.•••* src/cuirass/base.scm (&evaluation-error)[id]: New field.
(evaluate): Specify the 'id' field.
(process-specs): Show the log file name upon evaluation failure.
| Ludovic Courtès | 2019-10-23 |
* | base: Write to 'evaluate' output to /var/log/cuirass.•••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'.
| Ludovic Courtès | 2019-10-23 |
* | http: Support fetching builds by derivation.•••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.
| Christopher Baines | 2019-10-02 |
* | templates: Fix type errors in build details page.•••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'.
| Ludovic Courtès | 2019-09-23 |
* | http: Pass 'build-search-results-table' a list, not a vector.•••* src/cuirass/http.scm (url-handler): Call 'vector->list' on the result
of 'handle-builds-search-request', as expected by 'build-search-results-table'.
| Ludovic Courtès | 2019-08-27 |
* | http: Pass 'build-eval-table' a list, not a vector.•••* src/cuirass/http.scm (url-handler): Call 'vector->list' on the result
of 'handle-builds-request', as expected by 'build-eval-table'.
| Ludovic Courtès | 2019-08-27 |
* | http: Fix type error.•••This is a follow-up to commit c6f4fa5f577e4752d845fa3ce17c68fcd2079904.
* src/cuirass/http.scm (url-handler): SPECIFICATIONS-TABLE expects a list, not
a vector.
| Ricardo Wurmus | 2019-08-27 |
* | templates: Use 'derivation-build-plan'.•••* src/cuirass/templates.scm (build-details): Use 'derivation-build-plan'
instead of 'derivation-prerequisites-to-build'.
| Ludovic Courtès | 2019-08-17 |
* | doc: Guile 2.2 is needed.•••This is a followup to ee11ba1d93b24753eafcd77eef8543e5cac5ba4c.
* README: Ask for Guile 2.2.
| Ludovic Courtès | 2019-08-17 |
* | Switch to Guile-JSON 3.x.•••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.
| Ludovic Courtès | 2019-08-17 |
* | http: Import (ice-9 format).•••* src/cuirass/http.scm: Add missing include of (ice-9 format).
| Ludovic Courtès | 2019-08-17 |
* | base: Use the new 'store-error' procedure names.•••The 'nix-error' names are now deprecated in Guix.
* src/cuirass/base.scm (build-derivations&): Use the new 'store-error'
procedure names.
| Ludovic Courtès | 2019-08-17 |
* | Separate web interface.•••* 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.
| Ricardo Wurmus | 2019-08-10 |
* | Fix templates to handle all statuses.•••* src/cuirass/templates.scm: Factor out class and title helpers
for build statuses, and handle all the statuses.
| Robert Vollmert | 2019-08-07 |
* | database: query->bind-arguments: Process ^ and $ characters.•••* src/cuirass/database.scm (query->bind-arguments): Handle ^ and $ characters
in query strings.
| Ricardo Wurmus | 2019-06-20 |
* | templates: If applicable, disable "Last" and "First" pagination links.•••* src/cuirass/templates.scm (pagination): Disable "Last" and "First"
if applicable.
| Danny Milosavljevic | 2019-06-19 |
* | templates: Add link titles to evaluation badges.•••* src/cuirass/templates.scm (evaluation-badges): Add ‘title’ attributes.
| Tobias Geerinckx-Rice | 2019-06-19 |
* | templates: Expand search input on focus.•••* src/cuirass/templates.scm (html-page): Include CSS for widening the search
input field on focus.
| Ricardo Wurmus | 2019-06-19 |
* | cuirass: Restore search query.•••* 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.
| Ricardo Wurmus | 2019-06-19 |
* | database: query->bind-arguments: Ignore invalid query terms.•••* src/cuirass/database.scm (query->bind-arguments): Ignore invalid query
terms.
| Ricardo Wurmus | 2019-06-19 |
* | templates: Display logs of blocking dependencies.•••* src/cuirass/templates.scm (build-details): Determine failed outputs of
prerequisites and link to their logs.
| Ricardo Wurmus | 2019-06-19 |
* | http: Show number of builds.•••* src/cuirass/database.scm (db-get-evaluation-summary): New procedure.
* src/cuirass/http.scm (url-handler): Display number of builds in tabs.
| Ricardo Wurmus | 2019-06-19 |
* | cuirass: Remove tabs for canceled, dependency failed, and other failed.•••All of them are included in "failed".
* src/cuirass/http.scm (url-handler): Remove extraneous tabs.
| Ricardo Wurmus | 2019-06-19 |
* | cuirass: Adjust query for scheduled builds.•••* src/cuirass/http.scm (url-handler): Use "pending" instead of "scheduled".
| Ricardo Wurmus | 2019-06-19 |
* | cuirass: Display builds in separate tabs.•••* 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.
| Ricardo Wurmus | 2019-06-19 |
* | http: Fix navigation URL for build details page.•••* src/cuirass/http.scm (url-handler): Use "jobset" instead of "spec".
| Ricardo Wurmus | 2019-06-19 |
* | templates: Link to "details" page in build tables.•••* src/cuirass/templates.scm (build-eval-table, build-search-results-table):
Link ID to build details URL.
| Ricardo Wurmus | 2019-06-19 |
* | http: Handle /build/<id>/details URL.•••* src/cuirass/http.scm (url-handler): Add handler for /build/<id>/details.
* src/cuirass/templates.scm (build-details): New procedure.
| Ricardo Wurmus | 2019-06-18 |
* | database: db-get-specifications: Order specs by name.•••* src/cuirass/database.scm (db-get-specifications): Order rows by "name".
| Ricardo Wurmus | 2019-06-18 |
* | database: Support advanced query strings.•••* 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.
| Ricardo Wurmus | 2019-05-21 |
* | http: Gracefully handle missing query.•••* src/cuirass/http.scm (url-handler): Skip computation of builds-id-min and
builds-id-max when query is missing.
| Ricardo Wurmus | 2019-05-21 |
* | templates: Highlight query string.•••* src/cuirass/templates.scm (build-search-results-table): Highlight query
string.
| Ricardo Wurmus | 2019-05-21 |
* | cuirass: Add search for builds.•••* 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.
| Ricardo Wurmus | 2019-05-17 |
* | static: Replace logo.•••* src/static/images/logo.png: Replace "GuixSD" with "Guix".
| Ricardo Wurmus | 2019-05-04 |
* | base: Keep going when a Git error is raised.•••* src/cuirass/base.scm (process-specs): Catch 'git-error around call to
'process'.
| Ludovic Courtès | 2018-11-20 |
* | database: Re-throw the message of 'sqlite-error' exceptions.•••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'.
| Ludovic Courtès | 2018-11-16 |
* | database: Factorize 'sqlite-error' handling.•••* 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'.
| Ludovic Courtès | 2018-11-16 |
* | templates: Mark failures on the evaluation page.•••* src/cuirass/templates.scm (evaluation-badges): Use a special badge
denoting failure when the sum of all jobs is zero.
| Ludovic Courtès | 2018-11-07 |