Mathieu Lirzin
16aec469d4
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.
2016-12-28 18:18:37 +01:00
Mathieu Lirzin
e9e1ce8e14
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.
2016-12-16 13:20:49 +01:00
Mathieu Lirzin
bfd395c09f
db: Forbid inserting the same specification twice.
...
* 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.
2016-11-17 01:19:05 +01:00
Jan Nieuwenhuizen
f65c62e53a
tests: Track Cuirass' git.
...
* 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>
2016-09-23 16:53:07 +02:00
Jan Nieuwenhuizen
5ef0701f54
base: Support tracking of a Guix package's git.
...
* 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>
2016-09-23 16:50:36 +02:00
Mathieu Lirzin
ff7c3a11f2
tests: database: Use 'test-group-cleanup'.
...
* tests/database.scm: Use 'test-group-cleanup'.
2016-08-28 00:35:01 +02:00
Mathieu Lirzin
97d6dfb108
tests: http: Reformat expected result.
...
* tests/http.scm ("spec->json-string"): Make expected result more
readable.
2016-08-03 03:17:01 +02:00
Mathieu Lirzin
651b8bbcf9
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.
2016-07-31 01:07:00 +02:00
Mathieu Lirzin
e58911de37
utils: Add 'alist?' procedure.
...
* src/cuirass/utils.scm (alist?): New procedure.
* tests/utils.scm ("alist?"): New test.
2016-07-30 23:08:39 +02:00
Mathieu Lirzin
ac4512897c
schema: Evaluations: Add 'revision' column.
...
* src/schema.sql (Evaluations): Add 'revision' column.
* src/cuirass/database.scm (db-add-evaluation): Adapt.
All callers changed.
2016-07-30 23:07:19 +02:00
Mathieu Lirzin
ad267dc86a
tests: Add missing test group statements.
...
* tests/base.scm: Add missing 'test-begin' and 'test-end'.
* tests/database.scm: Likewise.
* tests/ui.scm: Likewise.
* tests/utils.scm: Likewise.
2016-07-27 14:17:10 +02:00
Mathieu Lirzin
d493a58823
schema: Separate "Derivations" from "Evaluations".
...
* 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.
2016-07-27 14:17:09 +02:00
Mathieu Lirzin
815e8060af
database: Remove "db-add-build-log" test.
...
* tests/database/scm ("db-add-build-log"): Delete.
2016-07-27 14:17:09 +02:00
Mathieu Lirzin
f97b24c29e
tests: Add 'hello-singleton' specification example.
...
* tests/hello-singleton.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
2016-07-27 14:16:57 +02:00
Mathieu Lirzin
a063a2277e
cuirass: Use database to store specifications.
2016-07-25 02:37:00 +02:00
Mathieu Lirzin
fba9b37dc9
gnu-system: license->alist: Allow list in license field.
2016-07-25 02:12:41 +02:00
Mathieu Lirzin
c7c9e91876
schema: Separate 'Evaluations' from 'Builds'.
...
Adapt src/cuirass/database.scm and its tests.
2016-07-25 02:12:41 +02:00
Mathieu Lirzin
b1dd669196
database: sqlite-exec: Return every rows.
...
Export it. Add a test.
2016-07-25 02:12:40 +02:00
Mathieu Lirzin
89b1f89cfc
Move '%program-name' to (cuirass ui) module.
2016-07-25 02:12:37 +02:00
Mathieu Lirzin
55e72cb107
gnu-system: Add 'license->alist' procedure.
2016-07-14 17:44:23 +02:00
Mathieu Lirzin
1a542e4d1b
Remove redundancies in the specification examples.
2016-07-14 17:44:23 +02:00
Mathieu Lirzin
1b804d7402
gnu-system: Use 'specification->package' when possible.
2016-07-14 17:44:23 +02:00
Mathieu Lirzin
0808ab3ecd
Remove unnecessary (cuirass job) module.
2016-07-13 14:16:36 +02:00
Mathieu Lirzin
53c12be409
Evaluate derivations in a separate process.
...
This fixes a bug where different Guix branches gave the same
derivations.
2016-07-13 14:07:24 +02:00
Mathieu Lirzin
92f5d0dfe4
Add guix-jobs.scm specification file.
2016-07-04 17:01:58 +02:00
Mathieu Lirzin
ecd001cb22
gnu-system: Fix '%job-name' calls.
...
This calls were using its previous name 'job-name'.
2016-07-04 13:51:14 +02:00
Mathieu Lirzin
fe30eb7e82
Add 'basic.sh' test.
2016-07-03 16:50:27 +02:00
Mathieu Lirzin
7ae6ce0690
Add %package-cachedir parameter.
2016-07-02 15:34:40 +02:00
Mathieu Lirzin
88e72887a0
Add test for 'with-directory-excursion'.
2016-07-02 03:35:19 +02:00
Mathieu Lirzin
94f910355c
job: Add load-path field to <job-spec>.
2016-07-02 01:51:56 +02:00
Mathieu Lirzin
ca6b5d6677
job: Add 'commit' and 'tag' field to <job-spec>.
2016-07-01 16:46:10 +02:00
Mathieu Lirzin
a62624301b
base: Add %program-name parameter object.
2016-07-01 16:00:14 +02:00
Mathieu Lirzin
990c902fcc
Store build logs in the database.
2016-06-29 16:16:48 +02:00
Mathieu Lirzin
4a778022f9
Fix temporary database location.
...
Don't create it in 'srcdir' to please 'make distcheck'.
2016-06-26 22:54:49 +02:00
Mathieu Lirzin
5ff38984e8
Make %package-database a parameter object.
...
Move it to (cuirass database).
2016-06-26 22:54:49 +02:00
Mathieu Lirzin
b24541e604
Add (cuirass database) module.
2016-06-26 16:59:26 +02:00
Mathieu Lirzin
992b57dade
Support multiples <job-spec> evaluation.
2016-06-16 11:42:59 +02:00
Mathieu Lirzin
b103ab7eae
Change <job-spec> and <job> semantics.
2016-06-16 02:12:33 +02:00
Mathieu Lirzin
e5609c29c4
gnu-system: Add hello subset.
...
* tests/gnu-system.scm (hydra-jobs): Add hello subset.
2016-06-13 18:11:09 +02:00
Mathieu Lirzin
49ab3c8b0d
job: Add <job-spec> record type.
...
* src/cuirass/job.scm <job-spec>: New record type.
(%make-job-spec, make-job-spec, job-spec-name, job-spec-proc)
(job-spec-metadata): New procedures.
* tests/gnu-system.scm (package-job): Rename to ...
(package-job-spec): ... this. Use 'make-job-spec'.
(package-cross-job): Rename to ...
(package-cross-job-spec): ... this. Use 'make-job-spec'.
(tarball-jobs): Rename to ...
(tarball-job-specs): ... this. Use 'make-job-spec'.
(package->alist): Rename to ...
(package-metadata): ... this. Adapt.
(package->job): Rename to ...
(package->jobspec): ... this. Adapt.
(hydra-jobs): Adapt.
2016-06-13 18:10:52 +02:00
Mathieu Lirzin
ab54de1f35
cuirass: Allow defining jobs outside of the repository.
...
* tests/gnu-system.scm: New file.
* bin/cuirass.in (evaluate, main): Use it.
2016-06-13 18:09:23 +02:00
Mathieu Lirzin
9d5fda76bb
Initial commit.
2016-05-29 19:53:17 +02:00