This project is mirrored from https://git.savannah.gnu.org/git/guix/guix-cuirass.git/.
Pull mirroring updated .
- Apr 02, 2018
-
-
Ludovic Courtès authored
This avoids copying things back and forth. * src/cuirass/base.scm (fetch-repository): Add #:writable-copy? parameter. Call 'make-writable-copy' when it's true. (copy-repository-cache): Remove. (make-writable-copy): New procedure. (evaluate): Add 'source' parameter and pass it to the 'evaluate' program. (process-specs): Define 'compile?'. Pass #:writable-copy? to 'fetch-repository'. Remove call to 'copy-repository-cache'. Remove computation of the checkout directory name. Pass CHECKOUT to 'evaluate'. * bin/evaluate.in (main): Replace 'cachedir' with 'source'. Remove computation of the checkout directory name.
-
- Mar 29, 2018
-
-
Ludovic Courtès authored
Fixes a regression introduced in 1bab5c4e whereby the 'status+submission-time' order would no longer be honored. As a result, /api/queue would return the queue ordered by build IDs, making it largely useless. * src/cuirass/database.scm (db-get-builds): Remove 'order' and rename 'order-column-name' to 'order'. Add case for 'status+submission-time'. * tests/database.scm ("database")["db-get-builds"]: Move below "db-update-build-status!" test. Add case for the 'status+submission-time' order.
-
Ludovic Courtès authored
This reinstates c47dfdf8 and fixes the issues that led to the revert in b71f0cdc. Before that, 'run-server' would force sequential processing of client requests one after another. * src/cuirass/http.scm (run-cuirass-server): Rewrite to use its own loop instead of 'run-server'. Spawn a database fiber. (with-database-access): New macro. (handle-build-request): Expect 'db-channel' and use 'with-database-access'. (handle-builds-request): Likewise. (url-handler): Likewise.
-
- Mar 28, 2018
-
-
Ludovic Courtès authored
* src/cuirass/base.scm (cancel-old-builds): New procedure.
-
Ludovic Courtès authored
* bin/evaluate.in (main): 'build-things' replacement no longer calls 'exit'.
-
- Mar 25, 2018
-
-
Ludovic Courtès authored
Fixes a bug whereby some fibers would get a SQLITE_BUSY exception while accessing the database: see <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=30644#26>. Suggested by Danny Milosavljevic <dannym@scratchpost.org>. * src/cuirass/database.scm (wal-mode): Rename to... (set-db-options): ... this. Add call to 'sqlite-exec' for 'busy_timeout'.
-
Ludovic Courtès authored
* bin/cuirass.in (main): Add 'setvbuf' calls.
-
- Mar 20, 2018
-
-
Ludovic Courtès authored
* src/cuirass/base.scm (with-store): Rewrite using 'unwind-protect'. * src/cuirass/database.scm (with-database): Likewise.
-
Ludovic Courtès authored
* src/cuirass/utils.scm (unwind-protect): New macro.
-
- Mar 18, 2018
-
-
Ludovic Courtès authored
Fixes a regression introduced in f083282f, whereby we'd return 0 as the timestamp for everything in /api/queue. * src/cuirass/http.scm (build->hydra-build): Make 'finished?' a Boolean. Move 'bool->int' call in #:finished definition.
-
Ludovic Courtès authored
Previously, when an exception was raised from 'handle-build-event' (e.g., a "database is locked" error), we'd throw, thereby leaving PORT open and we'd never read from it again. Thus, the corresponding 'guix-daemon' process would eventually get stuck in a 'write' call to that socket, and its build processes would stall. * src/cuirass/base.scm (exception-reporter): New procedure. (spawn-builds): Use it.
-
- Mar 02, 2018
-
-
Ludovic Courtès authored
Fixes <https://bugs.gnu.org/30618>. Reported by Andreas Enge <andreas@enge.fr>. * bin/evaluate.in (fill-job): Remove. (main): Remove 'database' command-line argument. Remove DB and its uses. Write an (evaluation EVAL JOBS) sexp. * src/cuirass/base.scm (evaluate)[augment-job]: New procedure. Use it. Adjust to read (evaluation EVAL JOBS) sexp. Call 'db-add-evaluation' and 'db-add-derivation'.
-
Ludovic Courtès authored
Fixes <https://bugs.gnu.org/30645>. Reported by Andreas Enge <andreas@enge.fr>. * src/cuirass/base.scm (spawn-builds): Fix TOTAL vs. COUNT mismatches.
-
- Mar 01, 2018
-
-
Ludovic Courtès authored
* src/cuirass/http.scm (build->hydra-build): Set #:timestamp to #:stoptime when BUILD is finished.
-
Ludovic Courtès authored
* src/cuirass/database.scm (db-get-builds): Reindent.
-
Ludovic Courtès authored
* src/cuirass/database.scm (db-get-builds)[assqx-ref]: Rewrite with 'match'.
-
Ludovic Courtès authored
* src/cuirass/http.scm (request-parameters): Return the empty list when QUERY is #f.
-
Ludovic Courtès authored
Fixes a regression introduced in 593cb7be. * src/cuirass/http.scm (request-parameters): Fix fallback case in 'match' form. Previously it would return a procedure in this case, as returned by (const param), leading to a failure down the road in 'sqlite-bind-arguments' as could be seen by running tests/http.scm.
-
- Feb 27, 2018
-
-
Ludovic Courtès authored
I've seen 'scandir' report #f once, even though that's theoretically impossible. * src/cuirass/logging.scm (log-monitoring-stats): Return '() if 'scandir' returns #f.
-
- Feb 20, 2018
-
-
Danny Milosavljevic authored
* src/cuirass/database.scm (db-get-builds): Fix grouping.
-
Danny Milosavljevic authored
* src/cuirass/http.scm (request-parameters): Interpret id and nr parameters as numbers.
-
Danny Milosavljevic authored
* src/cuirass/database.scm (db-get-builds): Remove debugging output. (db-get-build): Remove debugging output.
-
Danny Milosavljevic authored
* src/cuirass/http.scm (url-handler): Convert build-id URL part to number.
-
Danny Milosavljevic authored
* src/cuirass/database.scm (db-get-builds): Inline output selection.
-
Danny Milosavljevic authored
* src/cuirass/database.scm (db-get-builds): Modify. (db-get-build): Modify.
-
- Feb 15, 2018
-
-
Ludovic Courtès authored
* Makefile.am (CLEANFILES): Add $(nodist_guilesite_DATA).
-
Ludovic Courtès authored
Previously it would be installed under cuirass/. * Makefile.am (webmoduledir, webobjectdir): New variables. (dist_pkgmodule_DATA): Remove src/web/server/fiberized.scm. (dist_webmodule_DATA, nodist_webobject_DATA): New variables. (CLEANFILES): Add $(nodist_webobject_DATA).
-
Ludovic Courtès authored
* src/cuirass/base.scm (clear-build-queue): New procedure. * bin/cuirass.in (main): Call it.
-
Ludovic Courtès authored
* examples/random-jobs.scm (random-derivation): Add 'suffix' parameter and honor it. (make-random-jobs): Pass a non-empty suffix to 'random-derivation'.
-
Ludovic Courtès authored
* src/schema.sql: Add indices.
-
- Feb 14, 2018
-
-
Ludovic Courtès authored
This reverts commit c47dfdf8. Processing connections concurrently would require having separate database handles. See <https://lists.gnu.org/archive/html/guix-devel/2018-02/msg00206.html>.
-
Ludovic Courtès authored
* src/cuirass/database.scm (db-add-derivation): Catch 'sqlite-error and handle SQLITE_CONSTRAINT_PRIMARYKEY. (SQLITE_CONSTRAINT_UNIQUE): New variable. * tests/database.scm ("database")["db-add-derivation"]: Add extra call to 'db-add-derivation'.
-
- Feb 10, 2018
-
-
Ludovic Courtès authored
Before that, 'run-server' would force sequential processing of client requests one after another. * src/cuirass/http.scm (run-cuirass-server): Rewrite to use its own loop instead of 'run-server'.
-
- Feb 09, 2018
-
-
Ludovic Courtès authored
* src/cuirass/utils.scm (%non-blocking): Forward exceptions to the calling fiber.
-
Ludovic Courtès authored
That makes it safe from SQL injection. * src/cuirass/database.scm (db-get-builds): Rewrite to use question marks in SQL queries and binding through '%sqlite-exec'. * tests/database.scm ("database")["db-get-builds"]: Exercise 'WHERE' clauses.
-
Ludovic Courtès authored
The new macro automatically takes care of inserting question marks in the SQL queries, which in turn guarantees that there are always as many question marks and arguments. * src/cuirass/database.scm (sqlite-exec): Rename to... (%sqlite-exec): ... this. (sqlite-exec/bind, sqlite-exec): New macros. (assq-refs): Remove. (db-add-specification): Use the new 'sqlite-exec' form. (db-get-specifications): Correctly deal with REV or TAG being #f. (db-add-derivation, db-get-derivation, db-add-evaluation) (db-add-build, db-update-build-status!, db-get-outputs) (db-get-build, db-get-stamp, db-add-stamp): Adjust to the new 'sqlite-exec' form.
-
- Feb 08, 2018
-
-
Ludovic Courtès authored
* examples/random-jobs.scm (random-derivation): Tweak the computation of SEED. Actually use the new random state.
-
Ludovic Courtès authored
Previously any derivation not directly built by Cuirass would be considered as failed because 'handle-build-event' wouldn't see any build event. Here we just make sure the build status recorded in the database corresponds to reality. * src/cuirass/base.scm (update-build-statuses!): New procedure. (spawn-builds): Call it after 'build-derivations&'.
-
Ludovic Courtès authored
* src/cuirass/base.scm (build-packages)[register]: Make 'db-add-build' a tail call. Fix computation of 'outs'.
-
Ludovic Courtès authored
* examples/random-jobs.scm (make-job): Add '.' in #:job-name.
-