Merge lp:~cjohnston/qa-dashboard/smokeng-artifacts into lp:qa-dashboard

Proposed by Chris Johnston
Status: Merged
Approved by: Chris Johnston
Approved revision: 579
Merged at revision: 580
Proposed branch: lp:~cjohnston/qa-dashboard/smokeng-artifacts
Merge into: lp:qa-dashboard
Diff against target: 199 lines (+78/-32)
5 files modified
common/static/css/style.css (+37/-0)
smokeng/templates/smokeng/artifacts.html (+14/-0)
smokeng/templates/smokeng/test_result_detail.html (+7/-13)
smokeng/templates/smokeng/test_results.html (+11/-19)
smokeng/views.py (+9/-0)
To merge this branch: bzr merge lp:~cjohnston/qa-dashboard/smokeng-artifacts
Reviewer Review Type Date Requested Status
Andy Doan (community) Approve
PS Jenkins bot continuous-integration Approve
Review via email: mp+180897@code.launchpad.net

Commit message

Add links to individual artifacts for smokeng

To post a comment you must log in.
579. By Chris Johnston

Add links to artifacts for smokeng

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

PASSED: Continuous integration, rev:579
http://s-jenkins:8080/job/dashboard-ci/159/
Executed test runs:

Click here to trigger a rebuild:
http://s-jenkins:8080/job/dashboard-ci/159/rebuild

review: Approve (continuous-integration)
Revision history for this message
Andy Doan (doanac) wrote :

I learned something new today: ›

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'common/static/css/style.css'
2--- common/static/css/style.css 2013-08-14 04:43:11 +0000
3+++ common/static/css/style.css 2013-08-19 15:29:28 +0000
4@@ -836,3 +836,40 @@
5 overflow: hidden;
6 text-overflow: ellipsis;
7 }
8+
9+.list-ubuntu {
10+ list-style: none;
11+ margin-left: 0;
12+ margin-top: 0;
13+}
14+
15+.list-ubuntu li {
16+ border-bottom: 1px dotted #aea79f;
17+ margin-bottom: 0;
18+ padding: 10px 0;
19+}
20+
21+.list-ubuntu li.last-item,.list-ubuntu li:last-of-type {
22+ border: 0;
23+ padding-bottom: 0;
24+}
25+
26+.list-ubuntu li {
27+ background-repeat: no-repeat;
28+ background-position: 0 15px;
29+ padding-left: 25px;
30+}
31+
32+.list-ubuntu li {
33+ background-image: url("//assets.ubuntu.com/sites/ubuntu/latest/u/img/patterns/tick-orange.png");
34+}
35+
36+ul.artifacts {
37+ float: left;
38+}
39+
40+.artifacts li.last-item,
41+.artifacts li:last-of-type {
42+ padding-bottom: 10px!important;
43+}
44+
45
46=== added file 'smokeng/templates/smokeng/artifacts.html'
47--- smokeng/templates/smokeng/artifacts.html 1970-01-01 00:00:00 +0000
48+++ smokeng/templates/smokeng/artifacts.html 2013-08-19 15:29:28 +0000
49@@ -0,0 +1,14 @@
50+<div class="box box-padded">
51+ <h3><a href="{{ jenkins_url }}/artifact/">Artifacts &rsaquo;</a>&nbsp;&nbsp;&nbsp;<small><a href="{{ jenkins_url }}/console/">Console Log &rsaquo;</a></small></h3>
52+ <div>
53+ <ul class='list-ubuntu artifacts'>
54+ {% for artifact in artifacts %}
55+ <li><a href="{{ artifact.url }}/*view*/">{{ artifact.name }}</a></li>
56+ {% if forloop.counter|divisibleby:'3' and not forloop.last %}
57+ </ul>
58+ <ul class='list-ubuntu artifacts'>
59+ {% endif%}
60+ {% endfor %}
61+ </ul>
62+ </div>
63+</div>
64
65=== modified file 'smokeng/templates/smokeng/test_result_detail.html'
66--- smokeng/templates/smokeng/test_result_detail.html 2013-08-05 00:01:22 +0000
67+++ smokeng/templates/smokeng/test_result_detail.html 2013-08-19 15:29:28 +0000
68@@ -10,6 +10,8 @@
69 <h2>
70 Testcase: {{ testcase }}
71 </h2>
72+</div>
73+<div class='grid_4'>
74 <h4>Build data</h4>
75 <table>
76 <tr>
77@@ -24,20 +26,12 @@
78 <tr>
79 <td><strong>Variant:</strong></td><td>{{ image.variant }}</td>
80 </tr>
81- <tr>
82- <td><strong>Job data:</strong></td>
83- <td>
84- {% if image.variant == 'touch' and build_number >= '20130730' %}
85- <a href="{{ jenkins_url }}/artifact/clientlogs/dmesg.log/*view*/">dmesg</a>,
86- <a href="{{ jenkins_url }}/artifact/clientlogs/logcat.log/*view*/">logcat</a>,
87- <a href="{{ jenkins_url }}/artifact/clientlogs/">Artifacts</a>,
88- {% else %}
89- <a href="{{ jenkins_url }}/artifact/">Artifacts</a>,
90- {% endif %}
91- <a href="{{ jenkins_url }}/console">Console Log</a>
92- </td>
93- </tr>
94 </table>
95+</div>
96+<div class='grid_10'>
97+ {% include 'smokeng/artifacts.html' %}
98+</div>
99+<div class='grid_15'>
100 <h4>Test case data</h4>
101 <table>
102 {% for entry in results %}
103
104=== modified file 'smokeng/templates/smokeng/test_results.html'
105--- smokeng/templates/smokeng/test_results.html 2013-08-07 14:25:40 +0000
106+++ smokeng/templates/smokeng/test_results.html 2013-08-19 15:29:28 +0000
107@@ -13,6 +13,8 @@
108 <h2>
109 Test case results
110 </h2>
111+</div>
112+<div class='grid_4'>
113 <table>
114 <tr>
115 <td><strong>Build #:</strong></td><td><a href="{{ jenkins_url }}">{{ build_number }}</a></td>
116@@ -41,26 +43,16 @@
117 <tr>
118 <td><strong>Pass rate:</strong></td><td>{{ totals.rate }}</td>
119 </tr>
120- <tr>
121- <td><strong>Job data:</strong></td>
122- <td>
123- {% if image.variant == 'touch' and build_number >= '20130730' %}
124- <a href="{{ jenkins_url }}/artifact/clientlogs/dmesg.log/*view*/">dmesg</a>,
125- <a href="{{ jenkins_url }}/artifact/clientlogs/logcat.log/*view*/">logcat</a>,
126- <a href="{{ jenkins_url }}/artifact/clientlogs/">Artifacts</a>,
127- {% else %}
128- <a href="{{ jenkins_url }}/artifact/">Artifacts</a>,
129- {% endif %}
130- <a href="{{ jenkins_url }}/console">Console Log</a>
131- </td>
132- </tr>
133 </table>
134- <p>
135- </p>
136- {% if tests %}
137+</div>
138+<div class='grid_9'>
139+ {% include 'smokeng/artifacts.html' %}
140+</div>
141+<div class='grid_15'>
142+ {% if tests %}
143 {% render_table table "table.html" %}
144- {% else %}
145+ {% else %}
146 <p>No test case results found</p>
147- {% endif %}
148+ {% endif %}
149 </div>
150- {% endblock %}
151+{% endblock %}
152
153=== modified file 'smokeng/views.py'
154--- smokeng/views.py 2013-08-16 15:20:39 +0000
155+++ smokeng/views.py 2013-08-19 15:29:28 +0000
156@@ -29,6 +29,7 @@
157 BreadCrumbTrail,
158 )
159
160+from common.models import Artifact
161 from common.views import index
162 from common.templatetags.dashboard_extras import decimal_to_percent
163
164@@ -293,6 +294,9 @@
165 publish=True,
166 result=result,
167 )
168+ artifacts = Artifact.objects.filter(
169+ jenkins_build=result.jenkins_build,
170+ ).order_by('name')
171
172 jenkins_url = (
173 result.jenkins_build.job.url +
174@@ -334,6 +338,7 @@
175 'totals': totals,
176 'jenkins_url': jenkins_url,
177 'table': table,
178+ 'artifacts': artifacts,
179 'bread_crumb_trail': BreadCrumbTrail.leading_to(
180 image_test_results,
181 release=release,
182@@ -360,6 +365,9 @@
183 SmokeTestResult,
184 pk=id,
185 )
186+ artifacts = Artifact.objects.filter(
187+ jenkins_build=test.result.jenkins_build,
188+ ).order_by('name')
189
190 results = []
191 test_data = dict(
192@@ -386,6 +394,7 @@
193 'release': test.result.image.release,
194 'jenkins_url': jenkins_url,
195 'testcase': test.testcase,
196+ 'artifacts': artifacts,
197 'bread_crumb_trail': BreadCrumbTrail.leading_to(
198 test_result_detail,
199 release=release,

Subscribers

People subscribed via source and target branches