From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tatiana Sholokhova Subject: Re: GSoC: Adding a web interface similar to the Hydra web interface Date: Tue, 5 Jun 2018 01:14:26 +0300 Message-ID: References: <87vac3twbe.fsf@gnu.org> <87o9hog2ye.fsf@elephly.net> <87d0xyn9zs.fsf@elephly.net> <87d0xswvls.fsf@elephly.net> <87r2m4ntk4.fsf@mdc-berlin.de> <87tvqxy4i9.fsf@elephly.net> <87in78hxo2.fsf@elephly.net> <878t7xb58o.fsf@elephly.net> <874lijbqvf.fsf@elephly.net> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="000000000000c2a01b056dd841df" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:51927) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fPxkE-0004ni-67 for guix-devel@gnu.org; Mon, 04 Jun 2018 18:14:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fPxkC-0003lj-EV for guix-devel@gnu.org; Mon, 04 Jun 2018 18:14:30 -0400 In-Reply-To: <874lijbqvf.fsf@elephly.net> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Ricardo Wurmus Cc: guix-devel --000000000000c2a01b056dd841df Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hello, Ricardo! Yes, I've taken a look at Hydra. I think my problem is that I don't totally understand what means some pages at Hydra and how it is related to Cuirass database tables. Hydra has Projects, Jobsets for each project, Evaluations and Jobs for each Jobset. And Cuirass has Specifications, Evaluations and Derivations. Could you please clarify how these entities are related to each other? I formulate more precise questions below. I have come up with the following list of features: 1. Add the list of all evaluations of a specification displaying numbers of successful and failed builds for each evaluation (like this list https://hydra.nixos.org/jobset/gnu/guile-2-0/evals). 2. Add the table with status information of each job-evaluation pair like https://hydra.nixos.org/jobset/gnu/guile-2-0/#tabs-jobs. Am I right that in terms of Cuirass database derivations correspond to jobs? So, we need to display "derivations" table with derivations as rows and evaluations as columns and fill the cells using information from the "builds" table? Also, it is not clear to me how to order evaluations by their creation time like it's done in Hydra. 3. Add page displaying information about a build similar to https://hydra.nixos.org/build/74870692. Am I right that here we should display the information stored in hydra-like build description (defined in http.scm) alongside with links to the build log and outputs? 4. Add additional information about previous builds (latest successful, first broken, etc) on this build page. For this feature, we need to extend database requests functionality. 5. Add job information page containing the list of job's latest builds like https://hydra.nixos.org/job/gnu/guile-2-0/build.x86_64-linux. What do you think about these features? I afraid that I am not familiar with typical Hydra use cases, so I may miss some important features. Best regards, Tatiana 2018-06-03 22:40 GMT+03:00 Ricardo Wurmus : > Hi Tatiana, > > > I fixed my previous commits as you adviced. I have tested some features > on > > examples databases and it was correct. But I can't try your database > > (small-cuirass.db) file, the queries just return empty 'queue' and > 'latest > > build' lists, and I haven't tried other requests yet. > > Oh, maybe there=E2=80=99s something wrong with that file. I=E2=80=99m so= rry. > > > Now we have a web application with two pages: main page with current > > specifications status and pages for each specification. I think, for th= e > > next stage I should display some more information from the database but > I'm > > not sure what else I should display. > > Have you taken a look at https://hydra.nixos.org yet? This is the hydra > instance of the Nix project. (We use an older variant of the same > software on https://hydra.gnu.org, but it=E2=80=99s not very responsive.) > > On https://hydra.nixos.org/jobset/nixos/staging you can see a particular > branch of the nixos project. It lists evaluations, displays the number > of successes, failures, and pending builds, and it links to a detailed > overview of the evaluation. > > For example, at https://hydra.nixos.org/eval/1459429 we see the list of > builds that are associated with a particular evaluation and we can > follow a link to a description of that build. The build page shows us > some information about the derivation/package and links to the build > logs. > > It also shows us when the build first failed, what change in the > repository lead to the build failure, and so on. > > > Now I'm not sure what features I should implement next? What else do yo= u > > want to see by the first deadline? > > We are not just looking for a status page that displays the database > contents. Some of the bits of information have to be derived from more > than one database record. When you compare the current state of the > Cuirass web interface to that of Hydra, what do you see is still missing > and should be implemented next? Could you identify the top 5 features > that you think are missing and could be added to Cuirass? > > -- > Ricardo > > --000000000000c2a01b056dd841df Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hello, Ricardo!

Yes, I've taken a l= ook at Hydra. I think my problem is that I don't totally understand wha= t means some pages at Hydra and how it is related to Cuirass database table= s. Hydra has Projects, Jobsets=C2=A0for each project, Evaluations and Jobs = for each Jobset. And Cuirass has Specifications, Evaluations and Derivation= s. Could you please clarify how these entities are related to each other? I= formulate more precise questions below.

I have co= me up with the following list of features:

1. Add the=C2=A0list of all evaluations of a specificati= on displaying numbers of successful and failed builds for each evaluation (= like this list=C2=A0https://hydra.nixos.org/jobset/gnu/guile-2-0/evals= ).
2. Add the table with sta= tus information of each job-evaluation pair like=C2=A0https://hydra.nixos.org/jobs= et/gnu/guile-2-0/#tabs-jobs.=C2=A0 Am I right that in terms of Cuirass = database derivations correspond to jobs? So, we need to display "deriv= ations" table with derivations as rows and evaluations as columns and = fill the cells using information from the "builds" table? Also, i= t is not clear to me how to order evaluations by their creation time like i= t's done in Hydra.
3. Add page disp= laying information about a build similar to=C2=A0https://hydra.nixos.org/build/748= 70692. Am I right that here we should display= the information stored in hydra-like build description (defined in=C2=A0ht= tp.scm)=C2=A0alongside with links to the build log and outputs?=C2= =A0
4. Add additional information about previous builds (latest s= uccessful, first broken, etc) on this build page. For this feature, we need= to extend database requests functionality.=C2=A0
5. Add job info= rmation page containing the=C2=A0list of job's latest=C2=A0builds like= =C2=A0https://hydra.nixos.org/job/gnu/guile-2-0/build.x86_64-linux.
=

What do you think about these features? I afraid that I= am not familiar with typical Hydra use cases, so I may miss some important= features.

Best regards,
Tatiana


2018-06-03 22:40 GMT+03:00 Ricardo Wurmus <rekado@elephly.net>= :
Hi Tatiana,

> I fixed my previous commits as you adviced. I have tested some feature= s on
> examples databases and it was correct. But I can't try your databa= se
> (small-cuirass.db) file, the queries just return empty 'queue'= and 'latest
> build' lists, and I haven't tried other requests yet.

Oh, maybe there=E2=80=99s something wrong with that file.=C2=A0 I=E2= =80=99m sorry.

> Now we have a web application with two pages: main page with current > specifications status and pages for each specification. I think, for t= he
> next stage I should display some more information from the database bu= t I'm
> not sure what else I should display.

Have you taken a look at https://hydra.nixos.org yet?=C2=A0 This i= s the hydra
instance of the Nix project.=C2=A0 (We use an older variant of the same
software on https://hydra.gnu.org, but it=E2=80=99s not very responsive.)
On https://hydra.nixos.org/jobset/nixos/staging= you can see a particular
branch of the nixos project.=C2=A0 It lists evaluations, displays the numbe= r
of successes, failures, and pending builds, and it links to a detailed
overview of the evaluation.

For example, at https://hydra.nixos.org/eval/1459429 we= see the list of
builds that are associated with a particular evaluation and we can
follow a link to a description of that build.=C2=A0 The build page shows us=
some information about the derivation/package and links to the build
logs.

It also shows us when the build first failed, what change in the
repository lead to the build failure, and so on.

> Now I'm not sure what features I should implement next? What else = do you
> want to see by the first deadline?

We are not just looking for a status page that displays the database=
contents.=C2=A0 Some of the bits of information have to be derived from mor= e
than one database record.=C2=A0 When you compare the current state of the Cuirass web interface to that of Hydra, what do you see is still missing and should be implemented next?=C2=A0 Could you identify the top 5 features=
that you think are missing and could be added to Cuirass?

--
Ricardo


--000000000000c2a01b056dd841df--