add some stats to jobsets in project view

[?]
Mar 19, 2010, 8:36 AM
PC6UOHH72AUR64GFBIXXLKGP2CLEUWCI3E3QMKNYCZHRMNCHUDVAC

Dependencies

  • [2] 5QE3TIHP hydra: add status icon per jobset on project page
  • [3] FPK5LF53 * Put the project-related actions in a separate controller. Put the
  • [4] P5X4P6VK * Renaming "release sets" to "views" (not finished yet). Having
  • [*] 7YBYT2LQ
  • [*] ZI535LI6 * hydra: 'new' UI for project/jobset/job/build
  • [*] J5UVLXOK * Start of a basic Catalyst web interface.
  • [*] QL55ECJ6 - adapted ui for hydra, more in line with nixos.org website

Change contents

  • edit in src/lib/Hydra/Controller/Project.pm at line 35
    [2.617]
    [2.617]
    , "(SELECT COUNT(*) FROM Builds AS a WHERE me.project = a.project AND me.name = a.jobset AND a.isCurrent = 1 )"
  • replacement in src/lib/Hydra/Controller/Project.pm at line 37
    [2.626][2.626:696]()
    , "+as" => ["nrscheduled", "nrfailed", "nrsucceeded"]
    [2.626]
    [2.696]
    , "+as" => ["nrscheduled", "nrfailed", "nrsucceeded", "nrtotal"]
  • edit in src/root/project.tt at line 37
    [7.26299]
    [7.26299]
    <th colspan="2">Success</th>
  • edit in src/root/project.tt at line 58
    [2.1508]
    [7.26754]
    [% IF j.get_column('nrtotal') > 0 %]
    [% successrate = ( j.get_column('nrsucceeded') / j.get_column('nrtotal') )*100 %]
    [% IF j.get_column('nrscheduled') > 0 %]
    [% class = '' %]
    [% ELSIF successrate < 25 %]
    [% class = 'red' %]
    [% ELSIF successrate < 75 %]
    [% class = 'orange' %]
    [% ELSIF successrate <= 100 %]green
    [% class = 'green' %]
    [% END %]
    [% END %]
    <td>
    <div class="[% class %]">[% successrate FILTER format('%d') %]%</div>
    [% IF j.get_column('nrscheduled') > 0 %]
    [% j.get_column('nrscheduled') %] builds still running
    [% END %]
    </td>
    <td align="right">
    <div class="[% class %]">[% j.get_column('nrsucceeded') %]/[% j.get_column('nrtotal') %]</div>
    </td>
  • edit in src/root/static/css/hydra.css at line 202
    [9.3717]
    .red {
    color: red;
    }
    .orange {
    color: orange;
    }
    .green {
    color: green;
    }