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 argum


From: Clément Lassieur
Subject: bug#31813: [PATCH] evaluate: Use a generic key to identify Cuirass arguments.
Date: Mon, 18 Jun 2018 18:16:54 +0200
User-agent: mu4e 1.0; emacs 26.1

Hi Ludovic,

Ludovic Courtès <address@hidden> writes:

> For the record, this calling convention comes from Hydra.  In Hydra, a
> “jobset” can have several “inputs”, and they all show up in this ‘args’
> list, like:
>
>   ((INPUT1 . PROPERTIES) (INPUT2 . PROPERTIES) …)
>
> where INPUT1 is the famous name shown above.  (See
> <https://github.com/NixOS/hydra/blob/master/src/script/hydra-eval-guile-jobs.in>.)
>
>> And anyway if we force the argument key to 'guix', 'guix-checkout' or
>> 'guix-modular', it wouldn't prevent us to add other inputs (checkouts)
>> later, I think.
>
> It would prevent us from distinguishing between different inputs.
> Currently, at least with Hydra, we can do:
>
>   (assoc-ref args 'some-input)
>
> and get the file-name, revision, etc. properties corresponding to
> ‘some-input’.
>
> So I think we should preserve this API.
>
> The problem we have though is that Cuirass has no notion of “input”.  In
> Hydra’s schema, there’s ‘JobsetInputs’ (that’s where we get the input
> name from in the ‘args’ alist above), which is separate from ‘Jobset’
> (roughly equivalent to ‘Specifications’ in Cuirass.)
>
>   https://github.com/NixOS/hydra/blob/master/src/sql/hydra.sql
>
> Perhaps what we should do is introduce an ‘Input’ table to begin with,
> and have ‘Specifications’ refer to one or more of these.
>
> How does that sound?

Excellent!  That would be the fix for another issue we have: our
specifications also depend on our custom packages repository, which
would be another input (if my understanding is correct).  I'll start
working on it.

> We can apply your patch in the meantime, so that we can effectively have
> several ‘guix-modular’ jobs for example, but what I mean to say is that
> it can only be a temporary workaround for a flaw that needs to be fixed.

Sure, I understand this.  I pushed it.

> Thanks for your patience.  :-)

Thanks for yours :-)

I'm closing this ticket, and I'll open a new one for the 'real' patch.

Clément





reply via email to

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