-
- Downloads
Add support for multiple inputs.
* Makefile.am (dist_sql_DATA): Add src/sql/upgrade-1.sql. * bin/cuirass.in (show-help, %options, main): Remove the LOAD-PATH option that was used afterwards as %GUIX-PACKAGE-PATH. * bin/evaluate.in (absolutize, input-checkout, spec-source, spec-load-path, spec-package-path, format-checkouts): New procedures. (%not-colon): Remove variable. (main): Take the load path, package path and PROC from the checkouts that result from the inputs. Format the checkouts before sending them to the procedure. Remove the LOAD-PATH argument. * doc/cuirass.texi (Overview, Database schema): Document the changes. * examples/{guix-jobs.scm, hello-git.scm, hello-singleton.scm, hello-subset.scm, random.scm}: Adapt to the new specification format. * examples/guix-track-git.scm (package->spec): Rename to PACKAGE->INPUT. (package->git-tracked): Replace FETCH-REPOSITORY with FETCH-INPUT and handle the new format of its return value. * examples/random-jobs.scm (make-random-jobs): Rename RANDOM to CHECKOUT. Rename the checkout from 'random (which is a specification) to 'cuirass (which is a checkout resulting from an input). * src/cuirass/base.scm (fetch-repository): Rename to fetch-input. Rename SPEC to INPUT. Return a checkout object instead of returning two values. (evaluate): Take a list of CHECKOUTS and COMMITS as arguments, instead of SOURCE. Remove TOKENIZE and LOAD-PATH. Pass the CHECKOUTS instead of the SOURCE to "evaluate". Remove %GUIX-PACKAGE-PATH. Build the EVAL object instead of getting it from "evaluate". (compile?, fetch-inputs, compile-checkouts): New procedures. (process-specs): Fetch all inputs instead of only fetching one repository. The result of that fetching operation is a list of CHECKOUTS whose COMMITS are used as a STAMP. (%guix-package-path, set-guix-package-path): Remove them. * src/cuirass/database.scm (db-add-input, db-get-inputs): New procedures. (db-add-specification, db-get-specifications): Adapt to the new specification format. Add/get all inputs as well. (db-add-evaluation): Rename REVISION to COMMITS. Store COMMITS as space separated commit hashes. (db-get-builds): Rename REPO_NAME to NAME. (db-get-stamp): Rename COMMIT to STAMP. Return #f when there is no STAMP. (db-add-stamp): Rename COMMIT to STAMP. Deal with DB-GET-STAMP's new return value. (db-get-evaluations): Rename REVISION to COMMITS. Tokenize COMMITS. * src/cuirass/utils.scm (%non-blocking): Export it. * src/schema.sql (Inputs): New table that refers to the Specifications table. (Specifications): Move input related fields to the Inputs table. Rename REPO_NAME to NAME. Rename ARGUMENTS to PROC_ARGS. Rename FILE to PROC_FILE. Add LOAD_PATH_INPUTS, PACKAGE_PATH_INPUTS and PROC_INPUT fields that refer to the Inputs table. (Stamps): Rename REPO_NAME to NAME. (Evaluations): Rename REPO_NAME to NAME. Rename REVISION to COMMITS. (Specifications_index): Replace with Inputs_index. * src/sql/upgrade-1.sql: New file. * tests/database.scm (example-spec, make-dummy-eval, sqlite-exec): Adapt to the new specifications format. Rename REVISION to COMMITS. * tests/http.scm (evaluations-query-result, fill-db): Idem.
Showing
- Makefile.am 5 additions, 0 deletionsMakefile.am
- bin/cuirass.in 1 addition, 4 deletionsbin/cuirass.in
- bin/evaluate.in 87 additions, 33 deletionsbin/evaluate.in
- doc/cuirass.texi 92 additions, 52 deletionsdoc/cuirass.texi
- examples/guix-jobs.scm 23 additions, 15 deletionsexamples/guix-jobs.scm
- examples/guix-track-git.scm 14 additions, 12 deletionsexamples/guix-track-git.scm
- examples/hello-git.scm 24 additions, 31 deletionsexamples/hello-git.scm
- examples/hello-singleton.scm 17 additions, 11 deletionsexamples/hello-singleton.scm
- examples/hello-subset.scm 23 additions, 16 deletionsexamples/hello-subset.scm
- examples/random-jobs.scm 4 additions, 3 deletionsexamples/random-jobs.scm
- examples/random.scm 11 additions, 6 deletionsexamples/random.scm
- src/cuirass/base.scm 109 additions, 105 deletionssrc/cuirass/base.scm
- src/cuirass/database.scm 72 additions, 43 deletionssrc/cuirass/database.scm
- src/cuirass/utils.scm 1 addition, 0 deletionssrc/cuirass/utils.scm
- src/schema.sql 19 additions, 9 deletionssrc/schema.sql
- src/sql/upgrade-1.sql 78 additions, 0 deletionssrc/sql/upgrade-1.sql
- tests/database.scm 25 additions, 14 deletionstests/database.scm
- tests/http.scm 15 additions, 11 deletionstests/http.scm
Loading
Please register or sign in to comment