| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
| |
* 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'.
|
| |
|
|
|
|
|
|
| |
* src/cuirass/base.scm (prepare-git): New procedure. Body moved from...
(process-specs): ... here. Remove it.
* bin/cuirass.in (main): Call 'prepare-git'.
|
|
|
|
|
|
| |
* src/cuirass/base.scm (%newline): New variable.
(build-event-output-port, handle-build-event): New procedures.
(build-packages): Use 'handle-build-event'.
|
|
|
|
|
|
|
|
|
|
|
| |
This moves log handling responsibility to 'guix publish'.
* src/cuirass/http.scm (handle-log-request): Remove.
(url-handler): Change /log/raw URI handler to return 302 to /log/OUTPUT.
* tests/http.scm (log-file-name): Remove, and remove code to create and
delete it.
("fill-db"): Change #:log value.
("/build/1/log/raw"): Expect 302.
|
|
|
|
|
| |
* build-aux/test-driver.scm: Update from current Guix.
* Makefile.am (SCM_LOG_DRIVER): Add -L and -e flags.
|
|
|
|
|
|
|
|
|
|
| |
* src/cuirass/database.scm (db-get-builds): Make 'order' a separate
filter. Add 'format-limit-clause'. Reverse OUTPUTS.
* tests/database.scm (make-dummy-eval, make-dummy-derivation)
(make-dummy-build): New procedures.
(with-temporary-database): New macro.
("database"): Use 'make-dummy-build'.
("db-get-builds"): New test.
|
|
|
|
| |
* doc/cuirass.texi (Specifications): Mention "name".
|
|
|
|
| |
* doc/cuirass.texi: Fix typographic errors and typos.
|
|
|
|
|
|
|
|
|
|
| |
'GIT_SSL_CAINFO' designates a single-file certificate bundle, not a
directory; thus it must be passed as the second argument to
'set-tls-certificate-locations!'.
* src/cuirass/base.scm (process-specs): Pass $SSL_CERT_DIR as the first
argument to 'set-tls-certificate-locations!', and $GIT_SSL_CAINFO or
$SSL_CERT_FILE as the second argument.
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
| |
* src/cuirass/base.scm (build-packages): Print some feedback when derivations
have been built.
|
|
|
|
|
| |
* examples/gnu-system.scm (hydra-jobs): Accept subset with list of package
names.
|
|
|
|
|
| |
* src/cuirass/base.scm (copy-repository-cache): Make working copy writable.
Fixes guix .po build errors.
|
|
|
|
|
|
|
| |
Suggested by Jan Nieuwenhuizen <janneke@gnu.org>.
* doc/cuirass.texi (Overview): Explain that "dumb HTTP" is not
supported.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
* README (Requirenments): Replace git with guile-git.
|
|
|
|
|
| |
* src/cuirass/base.scm (process-specs): Set certificate location to the value
in GIT_SSL_CAINFO or SSL_CERT_DIR.
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes <https://bugs.gnu.org/28094>.
Reported by Ricardo Wurmus <rekado@elephly.net>.
* src/cuirass/database.scm (SQLITE_CONSTRAINT)
(SQLITE_CONSTRAINT_PRIMARYKEY): New variables.
(db-add-build): Catch 'sqlite-error, and swallow
SQLITE_CONSTRAINT_PRIMARYKEY errors.
* tests/database.scm ("db-add-build"): New test.
|
|
|
|
|
|
|
|
|
| |
When current-processor-count is used without (ice-9 threads) being used, Guile
complains with the following warning:
Import (ice-9 threads) to have access to `current-processor-count'.
* src/cuirass/base.scm: Use (ice-9 threads).
|
|
|
|
|
| |
* doc/cuirass.texi (Contribution): guix-devel@gnu.org is preferred for
contributions.
|
|
|
|
|
|
|
|
|
| |
* src/cuirass/base.scm (report-git-error): New procedure.
(with-git-error-handling): New macro.
(process-specs): Use with-git-error-handling to catch and report git errors.
* build-aux/guix.scm (package)[inputs]: Add guile-git.
* configure.ac: Check for (git) module. Also check that (git) exports
git-error-message procedure.
|
|
|
|
|
|
|
|
|
| |
* src/cuirass/base.scm (&evaluation-error): New condition type.
(evaluate): Report an &evaluation-error if eof-object? is true on
data read from port. Otherwise, suppose that data are correct and keep things
going.
(process-specs): Catch &evaluation-error, report the error in the log and keep
going.
|
|
|
|
| |
build-aux/guix.scm (package): Update to Guile 2.2.
|
|
|
|
|
|
|
|
| |
* src/cuirass/base.scm (%fallback?): New exported parameter.
(process-specs)[set-build-options]: Pass fallback parameter.
* bin/cuirass.in (%options): Add fallback.
(main): Set %fallback? parameter.
(show-help): Update.
|
|
|
|
|
|
| |
* src/cuirass/database.scm (db-get-stamp, db-add-stamp): Replace #:id
by #:name. There is no #:id in specifications. Plus, the primary key
of Specifications is #:name.
|
|
|
|
|
| |
* src/cuirass/base.scm: Replace time-monotonic with time-tai with
Guile 2.2, to avoid wrong evaluation durations.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* bin/cuirass.in: Replace λ by lambda.
* bin/evaluate.in: Ditto.
* build-aux/guix.scm: Ditto.
* examples/gnu-system.scm: Ditto.
* examples/guix-track-git.scm: Ditto.
* src/cuirass.scm: Ditto.
* src/cuirass/base.scm: Ditto.
* src/cuirass/database.scm: Ditto.
* src/cuirass/ui.scm: Ditto.
* src/cuirass/utils.scm: Remove λ* macro.
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
| |
* 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).
|
|
|
|
|
|
|
| |
* 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).
|
|
|
|
| |
* configure.ac (AC_INIT): Update homepage and bug report email.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
This is a followup to b4400bc98996f1a3ac7088a8f9e19daf684afcb1.
* Makefile.am (nodist_pkgmodule_DATA): New variable.
(nodist_pkgobject_DATA): Remove config.scm.
(do_subst): Use $(guileobjectdir).
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
| |
* Makefile.am (guilesitedir): Append @GUILE_EFFECTIVE_VERSION@.
* configure.ac: Use 'GUILE_PKG', and pass "2.2" first.
|
|
|
|
|
|
|
| |
This fixes a test failure with Guile 2.2.
* tests/http.scm (hash-table-keys, hash-table=?): New procedures.
("spec->json-string"): Use it to compare the JSON objects.
|
|
|
|
|
| |
* doc/cuirass.texi (Database): Replace instances of "path" with more accurate
terms.
|
|
|
|
| |
* doc/cuirass.texi: Add "Database" node.
|
|
|
|
|
|
|
| |
* doc/cuirass.texi (Introduction): Fix typos and use American English
spelling.
Co-authored-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
* src/cuirass/base.scm (fetch-repository): Remove 'file-exists?' call
before 'mkdir-p'.
|
|
|
|
|
| |
* src/cuirass/base.scm (process-specs): Systematically call
'set-build-options'. Pass #:keep-going? #t.
|
|
|
|
|
|
|
|
| |
This fixes an issue in the database, where rows from the 'Evaluations' table
were having an "#f" value instead of a valid reference to their corresponding
specification.
* bin/evaluate.in (main): Use specification #:name instead of obsolete #:id.
|
|
|
|
|
|
|
| |
* src/cuirass/base.scm (set-guix-package-path!): Parse colon separated
directories in load-path.
Co-authored-by: Mathieu Lirzin <mthl@gnu.org>
|
|
|
|
| |
* doc/cuirass.texi (Contributing): Describe how to send patches.
|
|
|
|
| |
* README <Contributing>: Point to the corresponding section in the manual.
|