| Commit message (Expand) | Author | Age | Files | Lines |
| * | 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>
| TSholokhova | 2018-07-29 | 1 | -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 Lassieur | 2018-07-16 | 1 | -0/+5 |
| * | build: Clean cuirass.go.•••* Makefile.am (CLEANFILES): Add $(nodist_guilesite_DATA).
| Ludovic Courtès | 2018-02-15 | 1 | -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ès | 2018-02-15 | 1 | -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ès | 2018-01-29 | 1 | -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ès | 2018-01-25 | 1 | -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ès | 2018-01-22 | 1 | -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ès | 2018-01-07 | 1 | -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 Othacehe | 2017-07-06 | 1 | -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ès | 2017-05-10 | 1 | -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ès | 2017-05-10 | 1 | -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ès | 2017-05-10 | 1 | -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 Lirzin | 2017-01-23 | 1 | -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 Lirzin | 2017-01-09 | 1 | -2/+2 |
| * | build: Reformat assignments.•••* Makefile.am (guilesitedir, pkgmoduledir, BUILT_SOURCES): Add whitespaces
around '='.
| Mathieu Lirzin | 2017-01-08 | 1 | -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 Lirzin | 2016-12-29 | 1 | -0/+1 |
| * | build: Fix typo "the" => "they".•••* Makefile.am <Generated files>: Fix typo "the" => "they".
| Mathieu Lirzin | 2016-12-28 | 1 | -1/+1 |
| * | build: Use portable substitution references.•••* Makefile.am (nodist_guilesite_DATA, nodist_pkgmodule_DATA, CLEANFILES): Use
portable substitution references.
| Mathieu Lirzin | 2016-12-28 | 1 | -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 Lirzin | 2016-12-28 | 1 | -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 Lirzin | 2016-12-28 | 1 | -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 Lirzin | 2016-12-28 | 1 | -0/+2 |
| * | build: Install the examples.•••* Makefile.am (EXTRA_DIST): Move examples to ...
(nobase_dist_pkgdata_DATA): ... here. New variable.
| Mathieu Lirzin | 2016-12-16 | 1 | -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 Lirzin | 2016-12-16 | 1 | -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 Lirzin | 2016-12-04 | 1 | -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 Lirzin | 2016-11-29 | 1 | -2/+2 |
| * | build: Remove duplicate sed expression.•••* Makefile.am (do_subst): Remove duplicate line.
| Mathieu Lirzin | 2016-11-17 | 1 | -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 Lirzin | 2016-11-17 | 1 | -4/+3 |
| * | maint: Add copyright notices for the build system.•••* configure.ac: Add copyright notice.
* Makefile.am: Likewise.
| Mathieu Lirzin | 2016-11-12 | 1 | -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 Lirzin | 2016-11-12 | 1 | -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 Lirzin | 2016-11-12 | 1 | -1/+43 |
| * | build: Add 'bootstrap' script.•••* bootstrap: New file.
* Makefile.am (EXTRA_DIST): Add it.
| Mathieu Lirzin | 2016-08-02 | 1 | -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 Lirzin | 2016-08-02 | 1 | -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 Lirzin | 2016-07-31 | 1 | -0/+2 |
| * | build: Fix variable reference in comment.•••* Makefile.am (.scm.go): Replace $(cuirassmoduledir) by
$(pkgmoduledir).
| Mathieu Lirzin | 2016-07-27 | 1 | -6/+5 |
| * | tests: Add 'hello-singleton' specification example.•••* tests/hello-singleton.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
| Mathieu Lirzin | 2016-07-27 | 1 | -0/+1 |
| * | build: Add 'sql-check' rule. | Mathieu Lirzin | 2016-07-25 | 1 | -0/+6 |
| * | build: Define 'pkgmoduledir' in Makefile.am. | Mathieu Lirzin | 2016-07-25 | 1 | -0/+1 |
| * | database: Use an external SQL schema. | Mathieu Lirzin | 2016-07-25 | 1 | -0/+2 |
| * | Move '%program-name' to (cuirass ui) module. | Mathieu Lirzin | 2016-07-25 | 1 | -0/+1 |
| * | Remove unnecessary (cuirass job) module. | Mathieu Lirzin | 2016-07-13 | 1 | -1/+0 |
| * | Evaluate derivations in a separate process.•••This fixes a bug where different Guix branches gave the same
derivations.
| Mathieu Lirzin | 2016-07-13 | 1 | -2/+2 |
| * | Add guix-jobs.scm specification file. | Mathieu Lirzin | 2016-07-04 | 1 | -0/+1 |
| * | Add 'basic.sh' test. | Mathieu Lirzin | 2016-07-03 | 1 | -2/+11 |
| * | Add test for 'with-directory-excursion'. | Mathieu Lirzin | 2016-07-02 | 1 | -1/+2 |
| * | Add (cuirass utils) module.•••Move 'with-directory-excursion' here.
| Mathieu Lirzin | 2016-07-02 | 1 | -1/+2 |
| * | Add (cuirass database) module. | Mathieu Lirzin | 2016-06-26 | 1 | -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 Lirzin | 2016-06-10 | 1 | -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 Lirzin | 2016-06-10 | 1 | -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 Lirzin | 2016-06-10 | 1 | -2/+8 |
| * | Initial commit. | Mathieu Lirzin | 2016-05-29 | 1 | -0/+69 |