guix-patches
[Top][All Lists]
Advanced

[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’.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]