guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Adding build status to the package list table


From: Roel Janssen
Subject: Re: Adding build status to the package list table
Date: Tue, 24 Nov 2015 14:24:20 +0100
User-agent: mu4e 0.9.15; emacs 25.1.50.1

Attachment: 0001-website-packages-Add-build-status-icons-in-the-expan.patch
Description: Text Data

Ludovic Courtès writes:

> Roel Janssen <address@hidden> skribis:
>
>> Ludovic Courtès writes:
>>
>>> Roel Janssen <address@hidden> skribis:
>>>
>>>> Ludovic Courtès writes:
>>>>
>>>>> Roel Janssen <address@hidden> skribis:
>>>>>
>>>>>> The list of packages included in Guix [1] provides links to the build
>>>>>> status of each package in the details.  I would like to provide this
>>>>>> information in a column after "Package details", either as an icon or as
>>>>>> a count (e.g. 3/4 builds succeeded).  This provides a nicer overview for
>>>>>> the current status of the package.
>>>>>
>>>>> That’s appealing.  However, it entails NUM-ARCHES × NUM-PACKAGES HTTP
>>>>> requests, just when loading the page.  That seems unreasonable.
>>>>
>>>> Maybe we could instead determine the build status at the time we
>>>> generate the website's package list?
>>>
>>> IMO it wouldn’t be very useful since the list is updated once a day.
>>
>> Ok. If we can instead fetch the status of all packages on all
>> architectures in one HTTP request (using javascript on the client-side),
>> would that be acceptable? The size of the build status information
>> should be about the same size as the list of packages.
>
> This would be OK, yes.  We just need to make sure Hydra executes said
> request in a reasonable amount of CPU time.

I've attached a patch that adds status icons to the links in the
expanded view. It only loads when the user clicks on "expand". We might
need to add a HTTP header from the GNU server to allow loading data from
external sources:

  https://en.wikipedia.org/wiki/Cross-origin_resource_sharing

I hope my commit message is OK this way.

For fetching all statuses in one API call, I would like to propose
adding a function to Hydra that can return the status in an array like
the following JSON code:

[
  
{"timestamp":1447890755,"buildstatus":0,"job":"a2ps-4.14.x86_64-linux","jobset":"master","project":"gnu","system":"x86_64-linux","nixname":"a2ps-4.14","finished":1,"id":812555},
  
{"finished":1,"id":811961,"system":"i686-linux","nixname":"a2ps-4.14","project":"gnu","jobset":"master","job":"a2ps-4.14.i686-linux","timestamp":1447890647,"buildstatus":0},
  
{"timestamp":1447890485,"buildstatus":0,"job":"a2ps-4.14.armhf-linux","nixname":"a2ps-4.14","system":"armhf-linux","id":811309,"finished":1,"jobset":"master","project":"gnu"},
  ...
]

Then I could add columns to the table with build status icons. I don't
know the Hydra code (or Perl), so I wonder if anyone else has the time
and wants to add the API call.

Thank you,
Roel

reply via email to

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