summaryrefslogtreecommitdiff
path: root/doc (follow)
Commit message (Expand)AuthorAgeFilesLines
* 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-52/+92
* database: Call a specification 'jobset' instead of 'project'.•••This removes the possibility to filter specifications by branch, because branches were previously called 'jobset'. But it doesn't matter because later on, specifications will have as many branches as inputs. And people should filter by specification name instead. * doc/cuirass.texi (Build Information, Latest builds): Remove 'jobset', replace 'project' with 'jobset'. * src/cuirass/http.scm (build->hydra-build): Idem. * tests/database.scm (db-get-builds): Idem. * tests/http.scm (build-query-result, /api/latestbuilds?nr=1&jobset=guix, /api/latestbuilds?nr=1&jobset=gnu): Idem. * src/cuirass/database.scm (db-format-build, db-get-builds): Don't associate builds with branches (which were called 'jobset' afterwards). (db-get-builds): Remove the #:project filter. Clément Lassieur2018-07-141-12/+6
* base: Pass the correct load path to the 'evaluate' command.•••The previous load path was potentially incorrect since commit 2fe7ff87e23b18d49bd33cffc4766b7eaa382054. * src/cuirass/base.scm (evaluate)[tokenize, load-path]: New variables. Assume #:load-path is colon-separated. Pass LOAD-PATH as the second argument to 'evaluate'. * doc/cuirass.texi (Database): Adjust documentation. Ludovic Courtès2018-04-071-5/+10
* cuirass: Add '--threads' and put an upper bound on the default.•••* bin/cuirass.in (show-help, %options): Add "--threads". (main): Honor it. Pass #:parallelism to 'run-fibers'. Ludovic Courtès2018-02-051-0/+9
* doc: Clarify the relationship of "repo_name" and "name".•••* doc/cuirass.texi (Specifications): Mention "name". Leo Famulari2017-10-141-1/+3
* doc: Fix typos.•••* doc/cuirass.texi: Fix typographic errors and typos. Ricardo Wurmus2017-10-041-6/+7
* cuirass: Add --listen command line option.•••* bin/cuirass.in (show-help): Add help for --listen option. (%options): Add listen option. (main): Pass host to run-cuirass-server. * doc/cuirass.texi (Invocation): Add --listen option. * src/cuirass/http.scm (run-cuirass-server): Add named #:host parameter. Jan Nieuwenhuizen2017-09-181-0/+4
* doc: Mention the supported transports.•••Suggested by Jan Nieuwenhuizen <janneke@gnu.org>. * doc/cuirass.texi (Overview): Explain that "dumb HTTP" is not supported. Ludovic Courtès2017-09-171-0/+9
* cuirass: add Hydra compatible HTTP API.•••* doc/cuirass.texi (Sections)[Web API]: New section describing the HTTP API. * src/cuirass/http.scm (spec->json-string): Move it to utils.scm and rename it object->json-string. (object->json-scm): Move it utils.scm. (handle-*-request): New helpers procedures. (request-parameters): New procedure to parse a request query. (url-handler): Add new API's. * src/cuirass/utils.scm (object->json-scm, object->json-string): Exported procedures moved from http.scm. * tests/http.scm: Add various tests on new HTTP API. Mathieu Othacehe2017-09-081-0/+191
* cuirass: Store new information in database to prepare new HTTP API•••integration. * bin/evaluate.in (fill-job): New procedure. (main): Use it to fill informations (nix-name, system) that will later be added to database. * doc/cuirass.texi (Database)[Derivation]: Add system and nix_name fields. (Database)[Builds]: Add id, status, timestamp, starttime and stoptime fields. Remove output field. (Database)[Outputs]: New table describing the build outputs. * src/cuirass/base.scm (build-packages): Add new fields to build object before adding it to database. * src/cuirass/database.scm (db-get-build, db-get-builds): New procedures to get a build by id from database and a list of builds using filter parameters respectively. * src/schema.sql (Outputs) : New table. (Derivations): Add system and nix_name columns. (Builds): Remove output column and add id, status, timestamp, starttime and stoptime columns. Mathieu Othacehe2017-09-081-4/+48
* doc: Update contribution email.•••* doc/cuirass.texi (Contribution): guix-devel@gnu.org is preferred for contributions. Mathieu Othacehe2017-07-311-1/+1
* doc: Do not use "path" when a file name is meant.•••* doc/cuirass.texi (Database): Replace instances of "path" with more accurate terms. Ricardo Wurmus2017-05-051-10/+10
* doc: Document database schema.•••* doc/cuirass.texi: Add "Database" node. Ricardo Wurmus2017-05-051-0/+149
* doc: Fix spelling.•••* doc/cuirass.texi (Introduction): Fix typos and use American English spelling. Co-authored-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Ricardo Wurmus2017-05-051-3/+3
* doc: Describe how to send patches.•••* doc/cuirass.texi (Contributing): Describe how to send patches. Mathieu Lirzin2017-01-291-1/+16
* doc: Update email contact for contributors.•••* doc/cuirass.texi (Contributing): Use "bug-cuirass@framalistes.org" email address. Mathieu Lirzin2017-01-231-4/+3
* cuirass: Add "--port" command line option.•••* 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. Mathieu Lirzin2016-12-281-0/+5
* doc: Add 'Overview' Chapter.•••* doc/cuirass.texi (Overview): New chapter. Mathieu Lirzin2016-12-161-0/+44
* doc: Include 'Continuous Integration' in the introduction.•••* doc/cuirass.texi (Continuous Integration): Make it a section of the 'Introduction' chapter. Mathieu Lirzin2016-12-161-2/+5
* doc: Write Introduction.•••* doc/cuirass.texi (Introduction): Write it. Mathieu Lirzin2016-12-091-1/+22
* doc: Change short description.•••* doc/cuirass.texi: Use "Build automation server" instead of "Continuous Integration Tool". Mathieu Lirzin2016-12-081-6/+6
* 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-042-0/+645