[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#31813] [PATCH] evaluate: Use a generic key to identify Cuirass argu
From: |
Ludovic Courtès |
Subject: |
[bug#31813] [PATCH] evaluate: Use a generic key to identify Cuirass arguments. |
Date: |
Thu, 14 Jun 2018 22:42:09 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) |
Heya!
Clément Lassieur <address@hidden> skribis:
> So that Cuirass specifications used to build 'guix-modular' can be named
> differently than "guix" and "guix-modular" (see Guix's
> build-aux/hydra/guix-modular.scm).
>
> The name is used as a primary key, so before that commit, it was also
> impossible to have several such specifications.
[...]
> diff --git a/bin/evaluate.in b/bin/evaluate.in
> index d973c44..86d0e83 100644
> --- a/bin/evaluate.in
> +++ b/bin/evaluate.in
> @@ -6,7 +6,8 @@ exec ${GUILE:address@hidden@} --no-auto-compile -e main -s
> "$0" "$@"
> ;;;; evaluate -- convert a specification to a job list
> ;;; Copyright © 2016, 2018 Ludovic Courtès <address@hidden>
> ;;; Copyright © 2016, 2017 Mathieu Lirzin <address@hidden>
> -;;; Copyright © 2017 Mathieu Othacehe <address@hidden>
> +;;; Copyright © 2017, 2018 Mathieu Othacehe <address@hidden>
> +;;; Copyright © 2018 Clément Lassieur <address@hidden>
> ;;;
> ;;; This file is part of Cuirass.
> ;;;
> @@ -98,7 +99,7 @@ building things during evaluation~%")
> (proc (module-ref %user-module proc-name))
> (commit (assq-ref spec #:current-commit))
> (name (assq-ref spec #:name))
> - (args `((,(string->symbol name)
> + (args `((guix
> (revision . ,commit)
> (file-name . ,source))
> ,@(or (assq-ref spec #:arguments) '())))
If we do that, then everything is called ‘guix’.
Shouldn’t we instead change the schema along these lines?
diff --git a/src/schema.sql b/src/schema.sql
index 65aebbd..bad2f6d 100644
--- a/src/schema.sql
+++ b/src/schema.sql
@@ -1,7 +1,7 @@
BEGIN TRANSACTION;
CREATE TABLE Specifications (
- repo_name TEXT NOT NULL PRIMARY KEY,
+ repo_name TEXT NOT NULL,
url TEXT NOT NULL,
load_path TEXT NOT NULL,
file TEXT NOT NULL,
@@ -11,7 +11,8 @@ CREATE TABLE Specifications (
branch TEXT,
tag TEXT,
revision TEXT,
- no_compile_p INTEGER
+ no_compile_p INTEGER,
+ PRIMARY KEY (repo_name, branch)
);
CREATE TABLE Stamps (
?
That way we can have one ‘guix-modular’ job for each branch, for example.
Mathieu Othacehe <address@hidden> skribis:
> Thanks to this patch, we are able to build on Cuirass guix package from
> multiple source repositories (guix-modular-url1, guix-modular-url2, ...)
>
> and then guix pull --url=url1 or guix pull --url=url2
Neat! So you have a Cuirass setup that works well for you? I’m asking
because I’m not fully satisfied with what we have on berlin, but part of
the issues come from offloading to 20+ machines.
> Cuirass + new "guix pull" is becoming awesome, can't wait to have a
> nice web interface :)
Same here!
Ludo’.