/kai/templates/buildbot/index.mako

https://bitbucket.org/bbangert/kai/ · Mako · 95 lines · 90 code · 5 blank · 0 comment · 9 complexity · 0898316b36795c2882115c80f1ae1a64 MD5 · raw file

  1. <div class="yui-b content">
  2. <h1>${_('Buildbot Status')}</h1>
  3. <p>${_("""Pylons source code is <strong>automatically built and tested</strong> via
  4. <a href="http://buildbot.net/trac">Buildbot</a> to ensure consistent
  5. release quality and track bugs that may occur during development (also
  6. known as <strong><a href="http://en.wikipedia.org/wiki/Continuous_Integration">
  7. Continuous integration</a></strong>). The
  8. latest builds are posted here automatically as they're
  9. completed. For those tracking the latest development tip, this can serve
  10. as a useful reference when decided whether to update.""") | n}</p>
  11. <p>${_("""In <a href="http://www.selenic.com/mercurial/">Mercurial</a>, the revision
  12. control system (RCS) used by Pylons, the latest revision is called the
  13. tip.""") | n}</p>
  14. <h2>${_('Latest Release (%s)' % app_globals.current_version)}</h2>
  15. ${build_table(c.releases)}
  16. <div class="loadmore viewtoggle release"><a href="#">${_('Older release builds')}</a></div>
  17. <div class="older release" style="display: none;">
  18. ${build_table(c.releases, start=1, limit=None, include_header=None)}
  19. </div>
  20. <div class="clearfix">&nbsp;</div>
  21. <h2>${_('Development Tip')}</h2>
  22. ${build_table(c.dev)}
  23. <div class="loadmore viewtoggle dev"><a href="#">${_('Older tip builds')}</a></div>
  24. <div class="older dev" style="display: none;">
  25. ${build_table(c.dev, start=1, limit=None, include_header=None)}
  26. </div>
  27. <br /><br /><br />
  28. <div id="buildinfo" style="display:none; cursor: default">
  29. <h1>${_('Loading...')}</h1>
  30. </div>
  31. </div>
  32. <%def name="build_table(builds, start=0, limit=1, include_header=True)">
  33. <table class="buildbot">\
  34. % if include_header:
  35. <thead>
  36. <tr>
  37. <th colspan="${len(builds)}">${_('Build Name')}</th>
  38. </tr>
  39. <tr>
  40. % for build in sorted(builds.keys()):
  41. <th>${build}
  42. % endfor
  43. </thead>
  44. % endif
  45. <tbody>
  46. <%
  47. here = start
  48. limit = limit
  49. stop = 100
  50. for build in sorted(builds.keys()):
  51. newmin = len(builds[build]) - 1
  52. if newmin < stop:
  53. stop = newmin
  54. %>
  55. % while True:
  56. <tr class="run">
  57. % for build in sorted(builds.keys()):
  58. <%
  59. time = builds[build][here]['end']
  60. %>
  61. <td>${format.datetime(time, "medium")}</td>
  62. % endfor
  63. </tr>
  64. <tr>
  65. % for build in sorted(builds.keys()):
  66. <% item = builds[build][here] %>
  67. <td class="result">
  68. <div class="details"><a href="#" class="${'%s__%s' % (item['name'], item['version'])}">&nbsp;</a></div>
  69. % if not item['reasons']:
  70. <span class="${item['results']}">${item['results']}</span>
  71. % endif
  72. % for reason in item['reasons']:
  73. <span class="failure">${reason[0]}</span><br />
  74. % endfor
  75. </td>
  76. % endfor
  77. </tr>
  78. <%
  79. here += 1
  80. if limit and here == limit:
  81. break
  82. elif here > stop:
  83. break
  84. %>
  85. % endwhile
  86. </tbody>
  87. </table>
  88. </%def>
  89. <%def name="title()">${parent.title()} - ${_('Buildbot Status')}</%def>
  90. <%inherit file="../layout.mako" />