Subject: bug#48564: ‘channel-with-substitutes-available’ makes assumptions about job names

From: Mathieu Othacehe <[email-masked]>
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