From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Subject: bug#32575: [Cuirass] Filter results by architecture Date: Thu, 30 Aug 2018 22:33:49 +0200 Message-ID: <87va7rsifm.fsf@gnu.org> References: <87a7p5b7x3.fsf@elephly.net> <20180830114135.3226977f@scratchpost.org> <87efegxd9s.fsf@gnu.org> <877ek8m316.fsf@lassieur.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:38583) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fvTeh-00020H-26 for bug-guix@gnu.org; Thu, 30 Aug 2018 16:35:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fvTeg-0005Mn-4X for bug-guix@gnu.org; Thu, 30 Aug 2018 16:35:02 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:34451) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fvTef-0005Lj-VP for bug-guix@gnu.org; Thu, 30 Aug 2018 16:35:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1fvTef-0003rj-QL for bug-guix@gnu.org; Thu, 30 Aug 2018 16:35:01 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <877ek8m316.fsf@lassieur.org> ("=?UTF-8?Q?Cl=C3=A9ment?= Lassieur"'s message of "Thu, 30 Aug 2018 14:50:45 +0200") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: =?UTF-8?Q?Cl=C3=A9ment?= Lassieur Cc: 32575@debbugs.gnu.org Cl=C3=A9ment Lassieur skribis: > Ludovic Court=C3=A8s writes: [...] >> Perhaps what we would need is to internally change how jobs are >> represented in the database: we could have one job, =E2=80=9Chello=E2=80= =9D, connected >> to one or more =E2=80=9Cbuilds=E2=80=9D, each with its own system. >> >> I think it would amount to splitting the =E2=80=9CBuilds=E2=80=9D table = into two tables: >> =E2=80=9CBuilds=E2=80=9D and =E2=80=9CJobs=E2=80=9D. Cl=C3=A9ment, does= that make sense? > > The 'job' word already has a meaning in Cuirass: it is the thing that is > returned from the evaluation. For example, if Cuirass builds foo and > bar for x86_64 and i686, there will be exactly 4 jobs produced at each > evaluation : > > - foo.x86_64-linux=20=20=20=20=20 > - foo.i686-linux=20=20=20=20=20=20=20 > - bar.x86_64-linux=20=20=20=20=20 > - bar.i686-linux=20=20=20=20=20=20=20 Yes. > CREATE TABLE Builds ( > derivation TEXT NOT NULL PRIMARY KEY, > evaluation INTEGER NOT NULL, > job_name TEXT NOT NULL, > system TEXT NOT NULL, > nix_name TEXT NOT NULL, > log TEXT NOT NULL, > status INTEGER NOT NULL, > timestamp INTEGER NOT NULL, > starttime INTEGER NOT NULL, > stoptime INTEGER NOT NULL, > FOREIGN KEY (evaluation) REFERENCES Evaluations (id) > ); > > We even have the 'system' column, so to me we have everything we need, > and we could display on one line all the builds that have the same > 'nix_name' for a given evaluation. Hmm, probably, indeed (though =E2=80=98nix_name=E2=80=99 is meant as hint, = not as a key.) Right now, build-aux/hydra/*.scm returns a list of jobs like this: (hello-2.10.x86_64-linux (derivation . "/gnu/store/2dl7n4l0l0vjzpjnv67fbb7vf24kw0ap-hello-2.10.drv") (description =E2=80=A6) (long-description =E2=80=A6) (license =E2=80=A6) (home-page =E2=80=A6) (maintainers "bug-guix@gnu.org") (max-silent-time . 3600) (timeout . 72000)) ;; =E2=80=A6 likewise for =E2=80=98hello.i686-linux=E2=80=99, etc. My proposal would be for build-aux/hydra/*.scm to return jobs that look like this: (hello-2.10 ; <- no special naming convention (derivations . (("x86_64-linux" . /gnu/store/=E2=80=A6-hello-2.10.drv") ("i686-linux" . /gnu/store/=E2=80=A6-hello-2.10.drv"))) (description =E2=80=A6) (long-description =E2=80=A6) (license =E2=80=A6) (home-page =E2=80=A6) (maintainers "bug-guix@gnu.org") (max-silent-time . 3600) (timeout . 72000)) Conceptually, that models the situation better, IMO. But like you write, we probably already have everything to do something along the lines of what Danny proposed. The change above can come later (it would be incompatible with Hydra, too.) Thoughts? Ludo=E2=80=99.