This project is mirrored from https://git.savannah.gnu.org/git/guix/guix-cuirass.git/.
Pull mirroring updated .
- 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.
-
Ludovic Courtès authored
* src/cuirass/database.scm (db-update-build-status!): And "AND status != ?" in SQL queries. * tests/database.scm ("database")["db-update-build-status!"]: Add call to 'db-update-build-status!'.
-
Ludovic Courtès authored
This is purely "defensive programming" since the default value for 'print-build-trace' is currently #t. * src/cuirass/base.scm (with-store): Pass #:print-build-trace to 'set-build-options'.
-
Ludovic Courtès authored
Suggested by Danny Milosavljevic. * src/cuirass/database.scm (sqlite-exec): Pass #:cache? to 'sqlite-prepare'.
-
Danny Milosavljevic authored
* src/cuirass/database.scm (%sqlite-exec): Remove. (sqlite-exec): Turn back into a procedure. Use 'sqlite-bind'. Add 'normalize' procedure and use it. (db-add-specification, db-add-derivation, db-get-derivation) (db-add-evaluation, db-add-build, db-update-build-status!) (db-get-build, db-get-stamp, db-add-stamp): Use question marks in SQL queries. * src/cuirass/base.scm (build-packages)[register]: Make #:log non-false. * tests/database.scm (make-dummy-job): Add #:job-name, #:system, #:nix-name, and #:eval-id. This is necessary because 'sqlite-bind' would now translate #f to a real NULL (before it would translate to the string "#f"...), and would thus report violations of the non-NULL constraint. Co-authored-by:
Ludovic Courtès <ludo@gnu.org>
-
- Feb 06, 2018
-
-
Ludovic Courtès authored
* src/cuirass/base.scm (build-packages): Remove useless 'log-message' calls.
-
Ludovic Courtès authored
Reported by Danny Milosavljevic. * src/cuirass/http.scm (url-handler) <"jobsets"> Return the result of 'db-get-specifications' as-is, not just the car.
-
Ludovic Courtès authored
* src/cuirass/base.scm (spawn-builds): Log the number of builds performed, not the number of remaining builds.
-
Ludovic Courtès authored
* bin/cuirass.in (show-help, %options): Add "--threads". (main): Honor it. Pass #:parallelism to 'run-fibers'.
-
- Jan 31, 2018
-
-
Ludovic Courtès authored
Works around <https://github.com/wingo/fibers/issues/19>. The effect in practice would be that we'd usually not reach the 'close-pipe' call in 'evaluate', leaving zombie processes behind us, never executing the continuation, and additionally spinning fast on a sequence of epoll_wait/epoll_ctl calls. * src/cuirass/base.scm <top level>: Monkey-patch (fibers internal).
-
- Jan 30, 2018
-
-
Ludovic Courtès authored
* examples/random-jobs.scm, examples/random.scm: New files. * Makefile.am (nobase_dist_pkgdata_DATA): Add them.
-
Ludovic Courtès authored
We used to have 'build-derivations' write to the custom binary port returned by 'build-event-output-port'. However, custom binary ports constitute continuation barriers, thereby preventing fibers from being suspended. To make build log processing non-blocking, we therefore invert this inversion of control and use a suspendable I/O procedure, 'read-line/non-blocking', when reading the build log. * src/cuirass/base.scm (read-line/non-blocking, process-build-log) (build-derivations&): New procedures. (%newline, build-event-output-port): Remove. (spawn-builds): Use 'build-derivations&' instead of 'build-derivations' with 'build-event-output-port'.
-