aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* 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.
* build: Set Guile load paths in 'pre-inst-env'.Mathieu Lirzin2016-12-28
| | | | | | | | | | | | | | | | This reverts most of 4f0d665746e0c6efe43c0f281e0eaac5012c79da. The load paths are still hard coded after installation, however 'pre-inst-env' wrapper is used for defining them in the local build environment. This is more convenient for running the tests manually or launching a Guile REPL with all the Cuirass modules accessible. * build-aux/pre-inst-env.in (GUILE_LOAD_PATH, GUILE_LOAD_COMPILED_PATH): New variables. * bin/cuirass.in: Comment Guile load paths. * Makefile.am (local_load_path, local_load_compiled_path): Delete. (AM_TESTS_ENVIRONMENT): Don't set Guile load paths. (do_subst): Use install directories for Guile load paths. (install-exec-hook): Uncomment 'cuirass' hard coded load paths.
* 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.
* doc: Add 'Overview' Chapter.Mathieu Lirzin2016-12-16
| | | | * doc/cuirass.texi (Overview): New chapter.
* doc: Include 'Continuous Integration' in the introduction.Mathieu Lirzin2016-12-16
| | | | | * doc/cuirass.texi (Continuous Integration): Make it a section of the 'Introduction' chapter.
* build: Install the examples.Mathieu Lirzin2016-12-16
| | | | | * Makefile.am (EXTRA_DIST): Move examples to ... (nobase_dist_pkgdata_DATA): ... here. New variable.
* maint: Move examples from 'tests' to 'examples' directory.Mathieu Lirzin2016-12-16
| | | | | | | | | | | * 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.
* doc: Write Introduction.Mathieu Lirzin2016-12-09
| | | | * doc/cuirass.texi (Introduction): Write it.
* doc: Change short description.Mathieu Lirzin2016-12-08
| | | | | * doc/cuirass.texi: Use "Build automation server" instead of "Continuous Integration Tool".
* doc: Add Cuirass manual.Mathieu Lirzin2016-12-04
| | | | | | | | * doc/cuirass.texi: New file. * doc/fdl-1.3.texi: Likewise. * Makefile.am (info_TEXINFOS, doc_cuirass_TEXINFOS): New variables. * dir-locals.el: Use the American dictionary for Texinfo mode. * .gitignore: Update.
* 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'.
* build: Unquote local load paths.Mathieu Lirzin2016-11-29
| | | | | * Makefile.am (local_load_path, local_load_compiled_path): Remove quotes that were expanded in the generated files.
* build: Remove duplicate sed expression.Mathieu Lirzin2016-11-17
| | | | * Makefile.am (do_subst): Remove duplicate line.
* 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: Use BUILT_SOURCES to avoid recompilation.Mathieu Lirzin2016-11-17
| | | | | | | | Before that, modifying 'src/cuirass/config.scm' was triggering the recompilation of all modules which was unnecessary. * Makefile.am (go_files, $(go_files)): Delete. (BUILT_SOURCES): New variable.
* maint: Add copyright notices for the build system.Mathieu Lirzin2016-11-12
| | | | | * configure.ac: Add copyright notice. * Makefile.am: Likewise.
* cuirass: Hard code Guile load paths.Mathieu Lirzin2016-11-12
| | | | | | | | | | | | | * configure.ac (bin/cuirass, bin/evaluate): Let 'make' generate them. * bin/cuirass.in: Hard code load paths to find Cuirass modules. * Makefile.am (do_subst): Update substitution. (bin/cuirass, bin/evaluate): New rules. (EXTRA_DIST): Distribute 'bin/cuirass.in' and 'bin/evaluate.in'. (MOSTLYCLEANFILES): Add '$(bin_SCRIPTS)'. (install-exec-hook): New target. (local_load_path, local_load_compiled_path): New variables. (AM_TESTS_ENVIRONMENT): Set Guile load paths. * build-aux/pre-inst-env.in: Don't modify Guile load paths.
* 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.
* cuirass: Check specifications from the database inside the loop.Mathieu Lirzin2016-11-03
| | | | * bin/cuirass (main): Remove 'let' before main loop.
* maint: Update README.Roel Janssen2016-10-26
| | | | | | * README: Slightly change wording. Signed-off-by: Mathieu Lirzin <mthl@gnu.org>
* maint: Use absolute directory names in GUIX_PACKAGE_PATH.Mathieu Lirzin2016-10-23
| | | | | | | This fixes "tests/hello-singleton.scm" evaluation. * build-aux/pre-inst-env.in (GUIX_PACKAGE_PATH): Use absolute directory names.
* 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>
* tests: Track Cuirass' git.Jan Nieuwenhuizen2016-09-23
| | | | | | | | | | | * guix.scm: New file; specify Guix package. * guix/ci.scm: New file; expose to Guix. * build-aux/pre-inst-env.in: Add it to GUIX_PACKAGE_PATH. * bin/evaluate.in (main): Lookup proc using name specified by #:proc. * tests/guix-track-git.scm: New file. * tests/hello-git.scm: Test it. 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>
* tests: database: Use 'test-group-cleanup'.Mathieu Lirzin2016-08-28
| | | | * tests/database.scm: Use 'test-group-cleanup'.
* tests: http: Reformat expected result.Mathieu Lirzin2016-08-03
| | | | | * tests/http.scm ("spec->json-string"): Make expected result more readable.
* maint: Update README.Mathieu Lirzin2016-08-03
| | | | * README: Update build instructions.
* build: Add a wrapper to 'guix environment'.Mathieu Lirzin2016-08-03
| | | | | * build-aux/guix-env: New file. * configure.ac: Require it.
* build: Add 'bootstrap' script.Mathieu Lirzin2016-08-02
| | | | | * bootstrap: New file. * Makefile.am (EXTRA_DIST): Add it.
* cuirass: Use 'let' instead of 'let*'.Mathieu Lirzin2016-08-02
| | | | * bin/cuirass.in (main): Use 'let' instead of 'let*'.
* 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.
* tests: Add missing test group statements.Mathieu Lirzin2016-07-27
| | | | | | | * tests/base.scm: Add missing 'test-begin' and 'test-end'. * tests/database.scm: Likewise. * tests/ui.scm: Likewise. * tests/utils.scm: Likewise.
* 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.
* build: Fix variable reference in comment.Mathieu Lirzin2016-07-27
| | | | | * Makefile.am (.scm.go): Replace $(cuirassmoduledir) by $(pkgmoduledir).
* 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.
* cuirass: show-help: Use 'poll' terminology.Mathieu Lirzin2016-07-27
| | | | * bin/cuirass.in (show-help): Use 'poll' terminology.
* database: Remove 'db-delete-evaluation' procedure.Mathieu Lirzin2016-07-27
| | | | * src/cuirass/database.scm (db-delete-evaluation): Delete.
* cuirass: Modify default interval value.Mathieu Lirzin2016-07-27
| | | | * bin/cuirass.in (main): Change default interval value.
* cuirass: Make specification argument optional.Mathieu Lirzin2016-07-27
| | | | | | | * bin/cuirass.in (%options): Add 'specifications' option. (main): Use it instead of the non-option command line arguments. (show-help): Adapt. * README (Example): Adapt.
* database: Remove "db-add-build-log" test.Mathieu Lirzin2016-07-27
| | | | * tests/database/scm ("db-add-build-log"): Delete.