Dear all, Ludovic Courtès <l...@gnu.org> writes:
> Hello Tatiana & all, > > Ricardo Wurmus <rek...@elephly.net> skribis: > >>> I am a bit confused about the database structure. As far as I understand, >>> there are project_name (project) and branch_name (jobset) properties, but >>> project_name is a primary key, so a project can't have several branches? >> >> I share your confusion. Maybe Ludovic or Mathieu can shed some more >> light on this. > > It’s confusing indeed, I think it’s a mistake that has yet to be fixed. > Basically what we do now is that we use a different ‘repo_name’ when we > just want to add a branch… The notion of "project" has been removed[1]. It was previously the specification name, which is a primary key indeed, so it didn't make sense because one project couldn't have several branches. Now, Hydra's jobsets are the exact same thing as Cuirass' specifications. So if you want to build the "master" and "core-update" branches of Guix, you need two specifications. However it wasn't even possible, before, to build several branches, because specifications names were used by the evaluator: they had to be "guix" or "guix-modular". Since the name was a primary key, we could only have two specifications. It is now[2] possible, because the evaluator uses the input name instead of the specification name. If you think there is a need for the notion of "Project" in Cuirass, we could add it, but it needs to be a new SQL table. And each specification would be associated with one project. Clément [1]: https://git.savannah.gnu.org/cgit/guix/guix-cuirass.git/commit/?id=be713f8a30788861806a74865b07403aa6774117 [2]: https://git.savannah.gnu.org/cgit/guix/guix-cuirass.git/commit/?id=7b2f9e0de1ad2d320973b7aea132a8afcad8bece