GNU bug report logs - #48564
‘channel-with-substitutes-available’ makes assumptions about job names

Previous Next

Package: guix;

Reported by: Ludovic Courtès <ludovic.courtes <at> inria.fr>

Date: Fri, 21 May 2021 13:00:02 UTC

Severity: normal

To reply to this bug, email your comments to 48564 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to othacehe <at> gnu.org, bug-guix <at> gnu.org:
bug#48564; Package guix. (Fri, 21 May 2021 13:00:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Ludovic Courtès <ludovic.courtes <at> inria.fr>:
New bug report received and forwarded. Copy sent to othacehe <at> gnu.org, bug-guix <at> gnu.org. (Fri, 21 May 2021 13:00:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludovic.courtes <at> inria.fr>
To: <bug-guix <at> gnu.org>
Subject: ‘channel-with-substitutes-available’
 makes assumptions about job names
Date: Fri, 21 May 2021 14:58:59 +0200
Hello!

I wanted to try something like this:

--8<---------------cut here---------------start------------->8---
(use-modules (guix ci))

(list (channel-with-substitutes-available
       %default-guix-channel
       "https://ci.guix.gnu.org")
      (channel-with-substitutes-available
       (channel
        (name 'guix-hpc)
        (url "https://gitlab.inria.fr/guix-hpc/guix-hpc.git"))
       "https://guix.bordeaux.inria.fr"))
--8<---------------cut here---------------end--------------->8---

However, that doesn’t work because ‘channel-with-substitutes-available’
looks for a ‘guix.x86_64-linux’ job, which doesn’t exist on this Cuirass
instance.

Wouldn’t it be enough to look for the latest completed evaluation (of a
given jobset)?

Incidentally, it seems ‘complete?’ is always false:

--8<---------------cut here---------------start------------->8---
scheme@(guix ci)> (latest-evaluations "https://guix.bordeaux.inria.fr" 10)
$16 = (#<<evaluation> id: 88628 spec: "guix-past" complete?: #f checkouts: (#<<checkout> commit: "065d2cd6ced96ddb38c15a46f798488f61660a33" channel: "guix">)> #<<evaluation> id: 88627 spec: "guix-hpc" complete?: #f checkouts: (#<<checkout> commit: "065d2cd6ced96ddb38c15a46f798488f61660a33" channel: "guix">)> #<<evaluation> id: 88584 spec: "guix-past" complete?: #f checkouts: (#<<checkout> commit: "fd5527407ff336c4af1c5511e19c0956720cd7aa" channel: "guix">)> #<<evaluation> id: 88583 spec: "guix-hpc" complete?: #f checkouts: (#<<checkout> commit: "fd5527407ff336c4af1c5511e19c0956720cd7aa" channel: "guix">)> #<<evaluation> id: 88470 spec: "guix-past" complete?: #f checkouts: (#<<checkout> commit: "2710df38b0c317bdc69c61c7775d8141eb214dd1" channel: "guix">)> #<<evaluation> id: 88469 spec: "guix-hpc" complete?: #f checkouts: (#<<checkout> commit: "2710df38b0c317bdc69c61c7775d8141eb214dd1" channel: "guix">)> #<<evaluation> id: 88442 spec: "guix-past" complete?: #f checkouts: (#<<checkout> commit: "83d21785a9fbc6a7e87435d437b2b3917f3a3b09" channel: "guix">)> #<<evaluation> id: 88441 spec: "guix-hpc" complete?: #f checkouts: (#<<checkout> commit: "83d21785a9fbc6a7e87435d437b2b3917f3a3b09" channel: "guix">)> #<<evaluation> id: 88186 spec: "guix-past" complete?: #f checkouts: (#<<checkout> commit: "061823da03add693df9c411fee9ccdcc7291f0ec" channel: "guix">)> #<<evaluation> id: 88185 spec: "guix-hpc" complete?: #f checkouts: (#<<checkout> commit: "061823da03add693df9c411fee9ccdcc7291f0ec" channel: "guix">)>)
--8<---------------cut here---------------end--------------->8---

Thoughts?

Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#48564; Package guix. (Fri, 21 May 2021 13:29:01 GMT) Full text and rfc822 format available.

Message #8 received at 48564 <at> debbugs.gnu.org (full text, mbox):

From: Mathieu Othacehe <othacehe <at> gnu.org>
To: Ludovic Courtès <ludovic.courtes <at> inria.fr>
Cc: 48564 <at> debbugs.gnu.org
Subject: Re: bug#48564: ‘channel-with-substitutes-available’ makes assumptions about job names
Date: Fri, 21 May 2021 15:28:43 +0200
Hey Ludo,

> Wouldn’t it be enough to look for the latest completed evaluation (of a
> given jobset)?

I guess it would be enough but we would need to specify the jobset that
needs to be used, this way maybe:

--8<---------------cut here---------------start------------->8---
(define* (channel-with-substitutes-available chan url
                                             #:key
                                             (specification "master"))
--8<---------------cut here---------------end--------------->8---

this would also allow me to simplify this patchset:
https://issues.guix.gnu.org/47929.

WDYT?

Thanks,

Mathieu




Information forwarded to bug-guix <at> gnu.org:
bug#48564; Package guix. (Fri, 21 May 2021 14:31:02 GMT) Full text and rfc822 format available.

Message #11 received at 48564 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludovic.courtes <at> inria.fr>
To: Mathieu Othacehe <othacehe <at> gnu.org>
Cc: 48564 <at> debbugs.gnu.org
Subject: Re: bug#48564: ‘channel-with-substitutes-available’ makes assumptions about job names
Date: Fri, 21 May 2021 16:30:22 +0200
Hi,

Mathieu Othacehe <othacehe <at> gnu.org> skribis:

>> Wouldn’t it be enough to look for the latest completed evaluation (of a
>> given jobset)?
>
> I guess it would be enough but we would need to specify the jobset that
> needs to be used, this way maybe:
>
> (define* (channel-with-substitutes-available chan url
>                                              #:key
>                                              (specification "master"))

Sure, SGTM.

> this would also allow me to simplify this patchset:
> https://issues.guix.gnu.org/47929.

Oh nice, I had completely overlooked that one!  I’ll take a look.

Thank you,
Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#48564; Package guix. (Wed, 26 May 2021 14:18:01 GMT) Full text and rfc822 format available.

Message #14 received at 48564 <at> debbugs.gnu.org (full text, mbox):

From: Mathieu Othacehe <othacehe <at> gnu.org>
To: Ludovic Courtès <ludovic.courtes <at> inria.fr>
Cc: 48564 <at> debbugs.gnu.org
Subject: Re: bug#48564: ‘channel-with-substitutes-available’ makes assumptions about job names
Date: Wed, 26 May 2021 16:17:21 +0200
Hey Ludo,

>> (define* (channel-with-substitutes-available chan url
>>                                              #:key
>>                                              (specification "master"))
>

I have fixed the evaluation complete? field issue with
a2155f41f53eeb5000857e7160c5ad0916dc9bfa.

Regarding the idea we had, things are I fear a little more complex. If
we consider what you would like to achieve:

--8<---------------cut here---------------start------------->8---
(list (channel-with-substitutes-available
       %default-guix-channel
       "https://ci.guix.gnu.org"
       #:spec "master")
      (channel-with-substitutes-available
       (channel
        (name 'guix-hpc)
        (url "https://gitlab.inria.fr/guix-hpc/guix-hpc.git"))
       "https://guix.bordeaux.inria.fr"
       #:spec "guix-hpc"))
--8<---------------cut here---------------end--------------->8---

The first channel-with-substitutes-available could use the commit M1
from the Savannah Guix master branch, while the second
channel-with-substitutes-available could use the commit H1 from the
HPC gitlab master branch.

If the commit H1 is evaluated by the Inria Cuirass against an older
Savannah Guix master commit let say M2, then "guix pull" will rebuild
the guix-hpc derivation I guess.

Maybe we need something that looks like:

--8<---------------cut here---------------start------------->8---
(channels-with-substitutes-available
 (list %default-guix-channel
       (channel
        (name 'guix-hpc)
        (url "https://gitlab.inria.fr/guix-hpc/guix-hpc.git")))
 (list "https://ci.guix.gnu.org"
       "https://guix.bordeaux.inria.fr")
 (specs "master" "guix-hpc"))
--8<---------------cut here---------------end--------------->8---

that would make sure to use a couple of Guix and HPC commits that
have been evaluated together on the Inria Cuirass server.

This looks more complex though :(

Mathieu




Information forwarded to bug-guix <at> gnu.org:
bug#48564; Package guix. (Thu, 27 May 2021 09:21:02 GMT) Full text and rfc822 format available.

Message #17 received at 48564 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludovic.courtes <at> inria.fr>
To: Mathieu Othacehe <othacehe <at> gnu.org>
Cc: 48564 <at> debbugs.gnu.org
Subject: Re: bug#48564: ‘channel-with-substitutes-available’ makes assumptions about job names
Date: Thu, 27 May 2021 11:20:41 +0200
Heya,

Mathieu Othacehe <othacehe <at> gnu.org> skribis:

>>> (define* (channel-with-substitutes-available chan url
>>>                                              #:key
>>>                                              (specification "master"))
>>
>
> I have fixed the evaluation complete? field issue with
> a2155f41f53eeb5000857e7160c5ad0916dc9bfa.

Good catch!

> Regarding the idea we had, things are I fear a little more complex. If
> we consider what you would like to achieve:
>
> (list (channel-with-substitutes-available
>        %default-guix-channel
>        "https://ci.guix.gnu.org"
>        #:spec "master")
>       (channel-with-substitutes-available
>        (channel
>         (name 'guix-hpc)
>         (url "https://gitlab.inria.fr/guix-hpc/guix-hpc.git"))
>        "https://guix.bordeaux.inria.fr"
>        #:spec "guix-hpc"))
>
>
> The first channel-with-substitutes-available could use the commit M1
> from the Savannah Guix master branch, while the second
> channel-with-substitutes-available could use the commit H1 from the
> HPC gitlab master branch.
>
> If the commit H1 is evaluated by the Inria Cuirass against an older
> Savannah Guix master commit let say M2, then "guix pull" will rebuild
> the guix-hpc derivation I guess.
>
> Maybe we need something that looks like:
>
> (channels-with-substitutes-available
>  (list %default-guix-channel
>        (channel
>         (name 'guix-hpc)
>         (url "https://gitlab.inria.fr/guix-hpc/guix-hpc.git")))
>  (list "https://ci.guix.gnu.org"
>        "https://guix.bordeaux.inria.fr")
>  (specs "master" "guix-hpc"))
>
> that would make sure to use a couple of Guix and HPC commits that
> have been evaluated together on the Inria Cuirass server.
>
> This looks more complex though :(

Hmm yeah.  Actually, in this example, it would make sense to take both
commits from guix.bordeaux.inria.fr, since that instance necessarily has
info about the two channels.  But yeah, it remains a bit complex.

Thanks,
Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#48564; Package guix. (Thu, 27 May 2021 20:45:02 GMT) Full text and rfc822 format available.

Message #20 received at 48564 <at> debbugs.gnu.org (full text, mbox):

From: zimoun <zimon.toutoune <at> gmail.com>
To: Mathieu Othacehe <othacehe <at> gnu.org>
Cc: Ludovic Courtès <ludovic.courtes <at> inria.fr>,
 48564 <at> debbugs.gnu.org
Subject: Re: bug#48564: ‘channel-with-substitutes-available’ makes assumptions about job names
Date: Thu, 27 May 2021 22:34:05 +0200
Hi,

On Wed, 26 May 2021 at 16:17, Mathieu Othacehe <othacehe <at> gnu.org> wrote:

> (channels-with-substitutes-available
>  (list %default-guix-channel
>        (channel
>         (name 'guix-hpc)
>         (url "https://gitlab.inria.fr/guix-hpc/guix-hpc.git")))
>  (list "https://ci.guix.gnu.org"
>        "https://guix.bordeaux.inria.fr")
>  (specs "master" "guix-hpc"))

FWIW, I do not know if ’channels-with-substitutes-available’ should take
a list of channels, but it should take a list of substitute servers.
For instance, the user should be allowed to provide (list
"https://ci.guix.gnu.org" "https://bayfront.guix.gnu.org") for the
channel %default-guix-channel.  And the default should be:

        (channels-with-substitutes-available
          %default-guix-channel
          %default-substitute-urls)

Then, for multi-channels, the substitute servers should be a list of
list, IMHO.  Although, in practise, currently, there is less substitute
servers than channels. ;-)


Cheers,
simon




This bug report was last modified 3 years and 184 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.