summaryrefslogtreecommitdiff
path: root/Makefile.am (follow)
Commit message (Expand)AuthorAgeFilesLines
* Add a web interface.•••* Makefile.am (dist_sql_DATA): Add static files. * src/cuirass/database.scm (assqx-ref): Export it. (db-get-builds): Add 'evaluation' filter and filters for pagination. (db-get-evaluations-build-summary, db-get-evaluations-id-min, db-get-evaluations-id-max, db-get-builds-min, db-get-builds-max): New exported procedures. * src/cuirass/http.scm (%static-directory): New parameter. (%page-size, %file-mime-types, %file-white-list): New variables. (handle-build-request, handle-builds-request): Move the WITH-CRITICAL-SECTION call out. (url-handler): Add RESPOND-HTML, RESPOND-STATIC-FILE and RESPOND-NOT-FOUND procedures. Call WITH-CRITICAL-SECTION sooner for the '/build', '/api/latestbuilds' and '/api/queue' routes. Add '/', '/jobset/<name>', '/eval/<id>', '/static/<path>' routes. Use RESPOND-NOT-FOUND when the route isn't found. * src/cuirass/templates.scm: New file. (html-page, specifications-table, evaluation-info-table, build-eval-table): New exported procedures. (pagination): New procedure. Signed-off-by: Clément Lassieur <clement@lassieur.org> TSholokhova2018-07-291-1/+19
* 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. Clément Lassieur2018-07-161-0/+5
* build: Clean cuirass.go.•••* Makefile.am (CLEANFILES): Add $(nodist_guilesite_DATA). Ludovic Courtès2018-02-151-0/+1
* build: Install (web server fiberized) in its right place.•••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ès2018-02-151-5/+13
* examples: Add 'random-jobs'.•••* examples/random-jobs.scm, examples/random.scm: New files. * Makefile.am (nobase_dist_pkgdata_DATA): Add them. Ludovic Courtès2018-01-291-4/+6
* http: Use our own 'fiberized' web server backend.•••* src/web/server/fiberized.scm: New file. * Makefile.am (dist_pkgmodule_DATA): Add it. * src/cuirass/http.scm (run-cuirass-server): Use it. Ludovic Courtès2018-01-251-1/+2
* Add (cuirass logging) module.•••* src/cuirass/logging.scm: New file. * Makefile.am (dist_pkgmodule_DATA): Add it. * src/cuirass/base.scm (handle-build-event): Use 'log-message' instead of 'log'. Ludovic Courtès2018-01-221-5/+7
* build: Update 'test-driver.scm' from Guix.•••* build-aux/test-driver.scm: Update from current Guix. * Makefile.am (SCM_LOG_DRIVER): Add -L and -e flags. Ludovic Courtès2018-01-071-3/+4
* repo: Remove dead code.•••* Makefile.am (dist_pkgmodule_DATA): Remove repo.scm, (TESTS): Remove repo.scm. * build-aux/guix.scm (package)[disable-repo-tests]: Remove phase. * src/cuirass/repo.scm: Remove. * tests/repo.scm: Remove. Mathieu Othacehe2017-07-061-2/+0
* build: Fix load-path/compile-path confusion.•••This is a followup to b4400bc98996f1a3ac7088a8f9e19daf684afcb1. * Makefile.am (nodist_pkgmodule_DATA): New variable. (nodist_pkgobject_DATA): Remove config.scm. (do_subst): Use $(guileobjectdir). Ludovic Courtès2017-05-101-2/+4
* build: Install .go files to $(libdir)/guile.•••* Makefile.am (guileobjectdir): New variable. (nodist_guilesite_DATA): Rename to... (nodist_guileobject_DATA): ... this. (pkgobjectdir): New variable. (nodist_pkgmodule_DATA): Rename to... (nodist_pkgobject_DATA): ... this. Ludovic Courtès2017-05-101-2/+6
* build: Prefer building with Guile 2.2.•••* Makefile.am (guilesitedir): Append @GUILE_EFFECTIVE_VERSION@. * configure.ac: Use 'GUILE_PKG', and pass "2.2" first. Ludovic Courtès2017-05-101-1/+1
* build: Don't generate ".version" since it has no use.•••* Makefile.am (.version): Remove target. (EXTRA_DIST): Adapt. (BUILT_SOURCES): Likewise. * build-aux/guix.scm (git-version-gen): Call 'git-version-gen' with '.tarball-version'. * .gitignore: Update. Mathieu Lirzin2017-01-231-6/+1
* maint: Fix mistake in copying permission statement.•••This was mistakenly added in commit 05e5495e8fdd7c0ba8f5d4afb5a59749b4474169. * Makefile.am: Declare GPLv3+ instead of GPLv2+. * configure.ac: Likewise. Mathieu Lirzin2017-01-091-2/+2
* build: Reformat assignments.•••* Makefile.am (guilesitedir, pkgmoduledir, BUILT_SOURCES): Add whitespaces around '='. Mathieu Lirzin2017-01-081-3/+3
* build: Do not require "build-aux/guix.scm".•••When building Cuirass with 'guix build -f build-aux/guix.scm' we don't want to add "build-aux/guix.scm" in the repository snapshot since it is considered as metadata. As a consequence we can't make 'autoconf' require it. * configure.ac (AC_REQUIRE_AUX_FILE): Remove "build-aux/guix.scm". * Makefile.am (EXTRA_DIST): Only distribute it. Mathieu Lirzin2016-12-291-0/+1
* build: Fix typo "the" => "they".•••* Makefile.am <Generated files>: Fix typo "the" => "they". Mathieu Lirzin2016-12-281-1/+1
* build: Use portable substitution references.•••* Makefile.am (nodist_guilesite_DATA, nodist_pkgmodule_DATA, CLEANFILES): Use portable substitution references. Mathieu Lirzin2016-12-281-3/+3
* maint: Generate version number.•••* build-aux/git-version-gen: New script. * configure.ac (AC_INIT): Use it. (AC_REQUIRE_AUX_FILE): Distribute it. * Makefile.am (.version): New target. (BUILT_SOURCES, EXTRA_DIST): Add it. (dist-hook): Generate ".tarball-version". * .gitignore: Update. Mathieu Lirzin2016-12-281-20/+31
* build: Set Guile load paths in 'pre-inst-env'.•••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. Mathieu Lirzin2016-12-281-15/+5
* repo: Add <repo> record datatype.•••* 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. Mathieu Lirzin2016-12-281-0/+2
* build: Install the examples.•••* Makefile.am (EXTRA_DIST): Move examples to ... (nobase_dist_pkgdata_DATA): ... here. New variable. Mathieu Lirzin2016-12-161-4/+7
* maint: Move examples from 'tests' to 'examples' directory.•••* 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. Mathieu Lirzin2016-12-161-4/+4
* doc: Add Cuirass manual.•••* 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. Mathieu Lirzin2016-12-041-0/+7
* build: Unquote local load paths.•••* Makefile.am (local_load_path, local_load_compiled_path): Remove quotes that were expanded in the generated files. Mathieu Lirzin2016-11-291-2/+2
* build: Remove duplicate sed expression.•••* Makefile.am (do_subst): Remove duplicate line. Mathieu Lirzin2016-11-171-1/+0
* build: Use BUILT_SOURCES to avoid recompilation.•••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. Mathieu Lirzin2016-11-171-4/+3
* maint: Add copyright notices for the build system.•••* configure.ac: Add copyright notice. * Makefile.am: Likewise. Mathieu Lirzin2016-11-121-0/+18
* cuirass: Hard code Guile load paths.•••* 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. Mathieu Lirzin2016-11-121-3/+33
* build: Let 'make' generate 'src/cuirass/config.scm'.•••* 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). Mathieu Lirzin2016-11-121-1/+43
* build: Add 'bootstrap' script.•••* bootstrap: New file. * Makefile.am (EXTRA_DIST): Add it. Mathieu Lirzin2016-08-021-0/+1
* Add (cuirass) module.•••* 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. Mathieu Lirzin2016-08-021-1/+6
* Add (cuirass http) module.•••* src/cuirass/http.scm: New file. * tests/http.scm: Likewise. * Makefile.am (dist_pkgmodule_DATA, TESTS): Add them. * configure.ac: Check for (json) module. Mathieu Lirzin2016-07-311-0/+2
* build: Fix variable reference in comment.•••* Makefile.am (.scm.go): Replace $(cuirassmoduledir) by $(pkgmoduledir). Mathieu Lirzin2016-07-271-6/+5
* tests: Add 'hello-singleton' specification example.•••* tests/hello-singleton.scm: New file. * Makefile.am (EXTRA_DIST): Add it. Mathieu Lirzin2016-07-271-0/+1
* build: Add 'sql-check' rule.Mathieu Lirzin2016-07-251-0/+6
* build: Define 'pkgmoduledir' in Makefile.am.Mathieu Lirzin2016-07-251-0/+1
* database: Use an external SQL schema.Mathieu Lirzin2016-07-251-0/+2
* Move '%program-name' to (cuirass ui) module.Mathieu Lirzin2016-07-251-0/+1
* Remove unnecessary (cuirass job) module.Mathieu Lirzin2016-07-131-1/+0
* Evaluate derivations in a separate process.•••This fixes a bug where different Guix branches gave the same derivations. Mathieu Lirzin2016-07-131-2/+2
* Add guix-jobs.scm specification file.Mathieu Lirzin2016-07-041-0/+1
* Add 'basic.sh' test.Mathieu Lirzin2016-07-031-2/+11
* Add test for 'with-directory-excursion'.Mathieu Lirzin2016-07-021-1/+2
* Add (cuirass utils) module.•••Move 'with-directory-excursion' here. Mathieu Lirzin2016-07-021-1/+2
* Add (cuirass database) module.Mathieu Lirzin2016-06-261-1/+4
* job: Add <job> record type.•••* src/cuirass/job.scm: New file. * Makefile.am (dist_pkgmodule_DATA): Add it. * bin/cuirass.in (evaluate, build-packages): Use it. Mathieu Lirzin2016-06-101-0/+1
* cuirass: Add command line options.•••* bin/cuirass.in (show-help, %options): new variables. (main): Adapt. * src/cuirass/ui.scm: New file. * Makefile.am (dist_pkgmodule_DATA): Add it. Mathieu Lirzin2016-06-101-1/+4
* build: Generate config.scm at configure time.•••* src/cuirass/config.scm.in: New file. * configure.ac (AC_CONFIG_FILES): Add 'src/cuirass/config.scm'. * Makefile.am (nodist_pkgmodule_DATA, CLEANFILES, DISTCLEANFILES): Update. * .gitignore: Likewise. Mathieu Lirzin2016-06-101-2/+8
* Initial commit.Mathieu Lirzin2016-05-291-0/+69