aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* base: Use (guix git) module.Mathieu Othacehe2017-07-05
| | | | | | | | | | * src/cuirass/base.scm (copy-repository-cache) : New procedure. (fetch-repository): Use latest-repository-commit to fetch git repository instead of raw git system commands. (process-specs): Use fetch-repository to get a store directory containing the repository described in SPEC, add copy it to cache with "copy-repository-cache". * configure.ac: Check (guix git) module presence.
* utils: Remove useless procedures.Mathieu Othacehe2017-07-01
| | | | | | | | | | | * src/cuirass/utils.scm (mkdir-p, make-user-module, call-with-temporary-directory, with-directory-excursion): Remove because already defined in guix. * tests/utils (with-directory-excursion): Remove associated test. * src/cuirass/base.scm: Use (guix build utils) to provide procedure removed from (cuirass utils). * bin/evaluate.in: Ditto. * bin/cuirass.in: Use "make-user-module" provided by (guix ui).
* repo: remove git-repo.Mathieu Othacehe2017-07-01
| | | | | | | * src/cuirass/repo.scm (git-repo): Remove it. * tests/repo.scm: Remove related tests. git-repo is not used and it's usecases will be covered by (guix git).
* base: Send build output to the bit bucket.Ludovic Courtès2017-06-04
| | | | | | | | | Fixes a regression introduced in a42cf16fec114c26d16d5153053a2c6a1a3b1d11 whereby build logs would go the Cuirass' stderr. * src/cuirass/base.scm (build-packages): Parameterize 'current-build-output-port' to a void output port.
* base: Provide 'build-derivations' with the full list of derivations.Ludovic Courtès2017-02-24
| | | | | | | | | | This improves parallelism when 'max-jobs' is large. * src/cuirass/base.scm (build-packages): Rewrite to pass the complete list of derivations to 'build-derivations' at once. Handle multiple outputs. * src/schema.sql (Builds): Make "output" part of the primary key. Co-authored-by: Mathieu Lirzin <mthl@gnu.org>
* base: Remove unnecessary 'file-exists?' call.Ludovic Courtès2017-02-24
| | | | | * src/cuirass/base.scm (fetch-repository): Remove 'file-exists?' call before 'mkdir-p'.
* base: Do not stop on the first build failure.Ludovic Courtès2017-02-24
| | | | | * src/cuirass/base.scm (process-specs): Systematically call 'set-build-options'. Pass #:keep-going? #t.
* base: Handle multi-directories in load-path.Mathieu Othacehe2017-02-06
| | | | | | | * src/cuirass/base.scm (set-guix-package-path!): Parse colon separated directories in load-path. Co-authored-by: Mathieu Lirzin <mthl@gnu.org>
* base: Handle 'git clone' errors correctly.Mathieu Othacehe2017-01-29
| | | | | | | | | Fixes https://notabug.org/mthl/cuirass/issues/1. * src/cuirass/base.scm (fetch-repository): Return #f when 'git clone' fails. (process-specs): Test if commit is not #f before using its value. Signed-off-by: Mathieu Lirzin <mthl@gnu.org>
* cuirass: Add "--load-path" option.Mathieu Othacehe2017-01-29
| | | | | | | | | | | | * bin/cuirass.in (%options): Add "--load-path" and "-L" command line options. (show-help): Adapt. * src/cuirass/base.scm (%guix-package-path): New parameter. (set-guix-package-path!): New procedure. (evaluate): Call "evaluate" script with '%guix-package-path'. * bin/evaluate.in (main): Match 'guix-package-path' command line argument and handle it. Signed-off-by: Mathieu Lirzin <mthl@gnu.org>
* database: db-add-derivation: Don't try to add a derivation twice.Mathieu Lirzin2017-01-09
| | | | | | | | | This fixes the issue of having multiple identical derivations associated with an evaluation as reported by Ludovic Courtès <ludo@gnu.org> at <https://lists.gnu.org/archive/html/guix-devel/2017-01/msg00109.html>. * src/cuirass/database.scm (db-add-derivation): Ignore if JOB is already present in DB.
* maint: Add new mailing list and webpage.Mathieu Lirzin2017-01-09
| | | | | | * configure.ac: Declare <bug-cuirass@framalistes.org> as package mailing list, and <https://notabug.org/mthl/cuirass/> as package website. * src/cuirass/ui.scm (show-package-information): Display them.
* cuirass: Add "--port" command line option.Mathieu Lirzin2016-12-28
| | | | | | | | * bin/cuirass.in (%options): Add "--port" and "-p" command line options. (show-help): Adapt. (main): Set default to 8080. Call 'run-cuirass-server' with this. * src/cuirass/http.scm (run-cuirass-server): Display the port number. * doc/cuirass.texi (Invocation): Document new option.
* http: Add 'port' keyword argument to 'run-cuirass-server'.Mathieu Lirzin2016-12-28
| | | | * src/cuirass/http.scm (run-cuirass-server): Add 'port' keyword argument.
* config: Remove references to '$prefix' expansion hack.Mathieu Lirzin2016-12-28
| | | | | * src/cuirass/config.scm.in (%datadir, %localstatedir): Don't refer to previous '$prefix' expansion hack in comments.
* repo: Add <repo> record datatype.Mathieu Lirzin2016-12-28
| | | | | | | * src/cuirass/utils.scm (call-with-temporary-directory): New procedure. * src/cuirass/repo.scm: Use it. New file. * tests/repo.scm: New tests. * Makefile.am (dist_pkgmodule_DATA, TESTS): Add them.
* base: Create the parent directories of '%package-cachedir'.Mathieu Lirzin2016-12-01
| | | | | * src/cuirass/base.scm (fetch-repository): Use 'mkdir-p' instead of 'mkdir' for 'cachedirectory'.
* base: Use inner definitions instead of big anonymous procedures.Mathieu Lirzin2016-11-17
| | | | | * src/cuirass/base.scm (build-packages, process-specs): Use an inner definition instead of a big anonymous procedure.
* db: Forbid inserting the same specification twice.Mathieu Lirzin2016-11-17
| | | | | | | | * src/schema.sql (Specifications): Make 'repo_name' the primary key. (Stamps, Evaluations): Adapt. * src/cuirass/database.scm (db-get-specifications): Likewise. (db-add-specification): Ignore if SPEC has already been added. * tests/database.scm (example-spec): Adapt.
* build: Let 'make' generate 'src/cuirass/config.scm'.Mathieu Lirzin2016-11-12
| | | | | | | | | | | | | * Makefile.am (src/cuirass/config.scm, $(go_files)): New targets. (do_subst, generate_file, go_files): New variables. (EXTRA_DIST): Distribute 'src/cuirass/config.scm.in'. (DISTCLEANFILES): Rename to ... (MOSTLYCLEANFILES): ... this. * configure.ac (AC_CONFIG_FILES): Remove 'src/cuirass/config.scm'. (@expanded_datadir@, @expanded_localstatedir@): Delete. (AC_PROG_MKDIR_P, AC_PROG_SED): Use them. * src/cuirass/config.scm (%datadir): Set it to $(localstatedir). (%localstatdir): Set it to $(datadir).
* cuirass: Run HTTP server.Mathieu Lirzin2016-11-03
| | | | | | * src/cuirass.scm: Re-export (cuirass http) module. * bin/cuirass.in (main): Run HTTP server and move the 'process-specs' loop in another thread.
* http: Add DB argument to 'url-handler'.Mathieu Lirzin2016-11-03
| | | | | | * src/cuirass/http.scm (not-found): Delete. (url-handler): Add DB argument. (run-cuirass-server): Likewise. Pass it to 'run-server' STATE argument.
* base: Handle build failure.Jan Nieuwenhuizen2016-09-23
| | | | | | | * src/cuirass/base.scm (build-packages): Catch build failures, write error log and update database. Signed-off-by: Mathieu Lirzin <mthl@gnu.org>
* base: Support tracking of a Guix package's git.Jan Nieuwenhuizen2016-09-23
| | | | | | | | | | * src/schema.sql (Specifications): Add no_compile_p column. * src/cuirass/database.scm (db-add-specification) (db-get-specifications): Handle #:no-compile? property. * tests/database.scm (example-spec): Adapt. * src/cuirass/base.scm (process-specs): Skip compilation if #:no-compile?. Signed-off-by: Mathieu Lirzin <mthl@gnu.org>
* cuirass: Optionally support using of substitutes.Jan Nieuwenhuizen2016-09-23
| | | | | | | | * bin/cuirass.in (options): Add --use-substitutes. (show-help): Idem. (main): Set %use-substitutes?. Signed-off-by: Mathieu Lirzin <mthl@gnu.org>
* Add (cuirass) module.Mathieu Lirzin2016-08-02
| | | | | | | | | | * src/cuirass.scm: New file. * Makefile.am (guilesitedir, dist_guilesite_DATA) (nodist_guilesite_DATA): New variables. (pkgmoduledir): Refer to 'guilesitedir'. (CLEANFILES): Add 'nodist_guilesite_DATA'. * bin/cuirass.in: Use (cuirass) module. * bin/evaluate.in: Likewise.
* Add (cuirass http) module.Mathieu Lirzin2016-07-31
| | | | | | | * src/cuirass/http.scm: New file. * tests/http.scm: Likewise. * Makefile.am (dist_pkgmodule_DATA, TESTS): Add them. * configure.ac: Check for (json) module.
* utils: Add 'alist?' procedure.Mathieu Lirzin2016-07-30
| | | | | * src/cuirass/utils.scm (alist?): New procedure. * tests/utils.scm ("alist?"): New test.
* schema: Evaluations: Add 'revision' column.Mathieu Lirzin2016-07-30
| | | | | | * src/schema.sql (Evaluations): Add 'revision' column. * src/cuirass/database.scm (db-add-evaluation): Adapt. All callers changed.
* schema: Builds: Add 'evaluation' column.Mathieu Lirzin2016-07-27
| | | | | | * src/schema.sql (Builds): Add 'evaluation' column. * src/cuirass/database.scm (db-add-build): Adapt. * src/cuirass/base.scm (build-packages): Likewise.
* cuirass: Move procedures to (cuirass base) module.Mathieu Lirzin2016-07-27
| | | | | | * bin/cuirass.in (fetch-repository, compile, evaluate, build-packages) (process-specs): Move to ... src/cuirass/base.scm: ... here.
* schema: Separate "Derivations" from "Evaluations".Mathieu Lirzin2016-07-27
| | | | | | | | | | | | | * src/schema.sql (Derivations): New table. (Evaluations): Remove 'derivation' and 'job_name' columns. Add 'id' column. * src/cuirass/database.scm (db-add-evaluation): Adapt. (db-get-derivation, db-add-derivation): New procedures. (evaluation-exists?, db-get-evaluation): Delete. * bin/evaluate.in (main): Adapt. * tests/database.scm ("sqlite-exec"): Likewise. ("db-add-derivation", "db-get-derivation"): New tests. ("db-add-evaluation", "db-get-evaluation"): Delete.
* database: Remove 'db-delete-evaluation' procedure.Mathieu Lirzin2016-07-27
| | | | * src/cuirass/database.scm (db-delete-evaluation): Delete.
* database: with-database: Keep the data.Mathieu Lirzin2016-07-26
| | | | | * src/cuirass/database.scm (with-database): Use 'db-open'. (db-open): Fallback to 'db-init' if DB do not exist.
* database: db-open: Add DB optional argument.Mathieu Lirzin2016-07-26
| | | | * src/cuirass/database.scm (db-open): Add DB optional argument.
* Use stamps to poll repositories.Mathieu Lirzin2016-07-26
|
* database: Add 'db-add-build' procedure.Mathieu Lirzin2016-07-25
|
* database: read-quoted-string: add default value to optional argument.Mathieu Lirzin2016-07-25
|
* evaluate: Use (cuirass ...) modules.Mathieu Lirzin2016-07-25
| | | | This avoids code duplication.
* cuirass: Use database to store specifications.Mathieu Lirzin2016-07-25
|
* database: db-init: Add arguments for debugging.Mathieu Lirzin2016-07-25
|
* schema: Separate 'Evaluations' from 'Builds'.Mathieu Lirzin2016-07-25
| | | | Adapt src/cuirass/database.scm and its tests.
* maint: Update file headers.Mathieu Lirzin2016-07-25
|
* database: db-get-evaluation: Use 'sqlite-exec'.Mathieu Lirzin2016-07-25
|
* database: Add 'last-insert-rowid' procedure.Mathieu Lirzin2016-07-25
|
* database: Add 'assq-refs' procedure.Mathieu Lirzin2016-07-25
|
* database: sqlite-exec: Return every rows.Mathieu Lirzin2016-07-25
| | | | Export it. Add a test.
* database: Use 'simple-format' in 'sqlite-exec'.Mathieu Lirzin2016-07-25
|
* database: Don't catch exceptions from (sqlite3) module.Mathieu Lirzin2016-07-25
|
* database: Use an external SQL schema.Mathieu Lirzin2016-07-25
|