From: "Clément Lassieur" <clement@lassieur.org>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: guix-devel@gnu.org, guix-sysadmin@gnu.org
Subject: Re: 01/01: hydra: services: Fix Cuirass configuration.
Date: Sat, 21 Jul 2018 01:07:46 +0200 [thread overview]
Message-ID: <87o9f1mrp9.fsf@lassieur.org> (raw)
In-Reply-To: <87muulob5x.fsf@gnu.org>
Heya :-)
Ludovic Courtès <ludo@gnu.org> writes:
> Thanks a lot for fixing it! Cuirass is back up and running now on
> berlin.
Yay!
One note though: Cuirass reads the config once, and only adds the
specifications whose name isn't already in the database. So it would
have worked if you had used '() as a specification list, because the
database was in a consistent state (thanks to the upgrade).
The four specifications I added are totally useless, except for their
names, and the fact that they describe the database. What I mean is
that if you change them it won't have any effect. But if you change
their name, Cuirass will think they are new and try to add them to the
database.
This behaviour is terrible, because it means the configuration is non
deterministic. It would be great to add a mechanism that detects
specification changes, and updates the database accordingly. But I'm
not sure it's feasible. Another solution would be to edit the database
through a web interface, à la hydra :-), but that would require a lot of
work.
> One question: could we have a single “guix” input corresponding to
> https://git…/guix.git for the master branch? I suppose that should work
> in theory?
The inputs can all be named "guix", if that's what you mean. Actually,
they can all be named the way you want, except the 'guix-modular' ones
that can only be named "guix" or "guix-modular"[1]. I think we should
add an ad-hoc 'key' field to avoid that restriction. That 'key' field
would be the key used by the evaluator to access the 'guix-checkout'.
As for allowing the same input to be used by several specifications
(that is, a N - N relationship between the Inputs and the Specifications
tables), it is possible, but it would require deep changes: each input
would need to have a associated stamp in the database, and when the
input changes, the evaluation of all its specs would need to be
triggered. It would be more efficient though, because it would reduce
the number of 'git pull'.
I chose to implement a N - 1 relationship between Inputs and
Specifications because that's how Hydra does, it requires less code
changes, and in most cases several specifications won't use the exact
same inputs. But we can definitely improve it if you think it's worth
it!
> Anyway the database migration went smoothly and the new schema looks
> much better. Thank you!
HTH!
Clément
[1]: https://git.savannah.gnu.org/cgit/guix.git/tree/build-aux/hydra/guix-modular.scm#n66
next prev parent reply other threads:[~2018-07-20 23:08 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20180720182934.2138.94704@vcs0.savannah.gnu.org>
[not found] ` <20180720182935.45B8E204A2@vcs0.savannah.gnu.org>
2018-07-20 21:22 ` 01/01: hydra: services: Fix Cuirass configuration Ludovic Courtès
2018-07-20 23:07 ` Clément Lassieur [this message]
2018-07-23 12:58 ` Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87o9f1mrp9.fsf@lassieur.org \
--to=clement@lassieur.org \
--cc=guix-devel@gnu.org \
--cc=guix-sysadmin@gnu.org \
--cc=ludo@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).