Commit Graph

15 Commits

Author SHA1 Message Date
Ludovic Courtès b1d7e9ddb4 doc: Guile 2.2 is needed.
This is a followup to ee11ba1d93.

* README: Ask for Guile 2.2.
2019-08-17 18:59:28 +02:00
Ludovic Courtès c6f4fa5f57 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.
2019-08-17 18:48:34 +02:00
Ricardo Wurmus e11f172265
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.
2019-08-10 13:46:55 +02:00
Ludovic Courtès ee11ba1d93 Introduce concurrency with Fibers.
* README: Mark Fibers as required.
* configure.ac: Check for Guile 2.2 only.  Check for (fibers).
* bin/cuirass.in (main): Use (fibers).  Run 'process-specs' and web
server in separate fibers.
* src/cuirass/base.scm (with-store): New macro.
(non-blocking-port): New procedure.
(evaluate): Use 'non-blocking-port'.  Use 'read-string' followed by 'read'.
(process-specs): Move 'db-add-stamp' right after 'string=?' comparison.
Run evaluation and subsequent builds in a separate fiber.
* src/cuirass/http.scm (run-cuirass-server): Pass 'fibers as the second
argument to 'run-server'.  Use 'log-message' instead of 'format'.
* src/cuirass/database.scm (with-database): Remove 'dynamic-wind'.
2018-01-22 23:39:51 +01:00
Ricardo Wurmus 7cee071e50
Update dependencies in README.
* README (Requirenments): Replace git with guile-git.
2017-08-26 13:57:53 +02:00
Mathieu Lirzin 4d1f2d989d
maint: Add a pointer to the manual in the README.
* README <Contributing>: Point to the corresponding section in the manual.
2017-01-29 17:56:44 +01:00
Mathieu Lirzin 206c302206
build: Add "build-aux/guix.scm".
* guix.scm: Delete.
* build-aux/guix-env: Likewise.
* build-aux/guix.scm: New file.
* configure.ac (AC_REQUIRE_AUX_FILE): Distribute it.
* README <Build Instructions>: Document it.
2016-12-28 19:11:43 +01:00
Mathieu Lirzin e9e1ce8e14
maint: Move examples from 'tests' to 'examples' directory.
* examples/gnu-system.scm: Moved from 'tests' directory.
* examples/guix-jobs.scm: Likewise.
* examples/guix-track-git.scm: Likewise.
* examples/hello-git.scm: Likewise.
* examples/hello-singleton.scm: Likewise.
* examples/hello-subset.scm: Likewise.
* Makefile.am (EXTRA_DIST): Adapt.
* README <Example>: Likewise.
2016-12-16 13:20:49 +01:00
Roel Janssen 24d4505507
maint: Update README.
* README: Slightly change wording.

Signed-off-by: Mathieu Lirzin <mthl@gnu.org>
2016-10-26 14:16:36 +02:00
Mathieu Lirzin 1cfacbc6ff
maint: Update README.
* README: Update build instructions.
2016-08-03 02:53:13 +02:00
Mathieu Lirzin c17f74bf19
cuirass: Make specification argument optional.
* bin/cuirass.in (%options): Add 'specifications' option.
(main): Use it instead of the non-option command line arguments.
(show-help): Adapt.
* README (Example): Adapt.
2016-07-27 14:17:09 +02:00
Mathieu Lirzin 2ea7029a31 Update README example. 2016-07-14 17:44:23 +02:00
Mathieu Lirzin 7e9af4298e cuirass: Remove '--use-file' command line argument. 2016-07-02 23:00:17 +02:00
Mathieu Lirzin 6587ddea5a Guix modules must be available. 2016-06-16 02:12:33 +02:00
Mathieu Lirzin 9d5fda76bb
Initial commit. 2016-05-29 19:53:17 +02:00