]> git.ipfire.org Git - pbs.git/blame - src/templates/builds/show.html
builds: Send an email if test builds fail
[pbs.git] / src / templates / builds / show.html
CommitLineData
f7bc5fb1 1{% extends "../base.html" %}
9137135a 2
0746b56a 3{% block title %}{{ _("Build") }} - {{ build }}{% end block %}
9137135a 4
4b6c830e 5{% block body %}
99962c0d
MT
6 <section class="hero is-light">
7 <div class="hero-body">
8 <div class="container">
9 <nav class="breadcrumb" aria-label="breadcrumbs">
10 <ul>
11 <li>
12 <a href="/packages">{{ _("Packages") }}</a>
13 </li>
14 <li>
15 <a href="/packages/{{ build.pkg.name }}">{{ build.pkg.name }}</a>
16 </li>
17 <li class="is-active">
18 <a href="#" aria-current="page">{{ build.pkg.evr }}</a>
19 </li>
20 </ul>
21 </nav>
22
23 <h1 class="title is-1">{{ build }}</h1>
24
25 {% if build.is_test() %}
26 <h6 class="subtitle is-6">
27 <span class="tag is-warning">{{ _("Test Build") }}</span>
28
29 <a href="/builds/{{ build.test_build_for.uuid }}">
30 {{ build.test_build_for }}
31 </a>
32 </h6>
33 {% else %}
34 <h6 class="subtitle is-6">
35 {{ build.pkg.summary }}
36 </h6>
4b6c830e 37 {% end %}
0746b56a 38
99962c0d
MT
39 <div class="tags">
40 {# Scratch Build #}
41 {% if build.owner %}
42 <span class="tag is-warning">
43 {{ _("Scratch Build by %s") % build.owner }}
44 </span>
45 {% end %}
0746b56a 46
99962c0d
MT
47 {# Deprecated? #}
48 {% if build.is_deprecated() %}
49 <span class="tag is-warning">
50 {{ _("Deprecated") }}
51 </span>
52 {% end %}
53 </div>
4b6c830e 54
99962c0d
MT
55 <div class="columns">
56 <div class="column">
57 <div class="media">
58 {# Scratch Build #}
59 {% if build.owner %}
60 {% if build.message %}
61 {% module Text(build.message) %}
62 {% else %}
63 <p class="has-text-centered p-5">
64 {{ _("No Message") }}
65 </p>
66 {% end %}
0746b56a 67
99962c0d
MT
68 {# Commit Message #}
69 {% elif build.commit %}
70 {% module CommitMessage(build.commit) %}
71
72 {% end %}
73 </div>
4b6c830e 74 </div>
63eb0844 75
99962c0d
MT
76 <div class="column is-3">
77 <div class="box">
78 {# Score #}
79 <nav class="level">
80 <div class="level-item has-text-centered">
81 <div>
82 <p class="heading">{{ _("Score") }}</p>
83 <p class="title">{{ build.score }}</p>
84 </div>
63eb0844 85 </div>
99962c0d
MT
86 </nav>
87 </div>
0746b56a
MT
88 </div>
89 </div>
63eb0844 90
99962c0d
MT
91 <div class="block">
92 <div class="buttons">
93 <a class="button is-light" href="/packages/{{ build.pkg.uuid }}">
94 <span class="icon">
95 <i class="fa-brands fa-osi"></i>
4b6c830e 96 </span>
63eb0844 97
99962c0d
MT
98 <span>{{ _("Source Package") }}</span>
99 </a>
4b6c830e 100
99962c0d
MT
101 {# Delete #}
102 {% if build.can_be_deleted(current_user) %}
103 <a class="button is-danger" href="/builds/{{ build.uuid }}/delete">
104 {{ _("Delete Build") }}
105 </a>
106 {% end %}
107 </div>
4b6c830e 108
99962c0d
MT
109 {# Watch/Unwatch #}
110 {% if current_user in build.watchers %}
111 <form method="POST" action="/builds/{{ build.uuid }}/unwatch">
112 {% raw xsrf_form_html() %}
113
114 <button class="button is-primary is-outlined">
115 <span class="icon is-small">
116 <i class="fa-solid fa-eye"></i>
117 </span>
118
119 <span>
120 {% if len(build.watchers) == 1 %}
121 {{ _("You are watching this build") }}
122 {% else %}
123 {{ _("You and one other are watching this build",
124 "You and %(num)s others are watching this build",
125 len(build.watchers)) % { "num" : len(build.watchers) }
126 }}
127 {% end %}
128 </span>
129 </button>
130 </form>
131 {% else %}
132 <form method="POST" action="/builds/{{ build.uuid }}/watch">
133 {% raw xsrf_form_html() %}
134
135 <button class="button is-primary">
136 <span class="icon is-small">
137 <i class="fa-regular fa-eye"></i>
138 </span>
139
140 <span>
141 {% if build.watchers %}
142 {{ _("One person is watching this build",
143 "%(num)s persons are watching this build",
144 len(build.watchers)) % { "num" : len(build.watchers) }
145 }}
146 {% else %}
147 {{ _("Watch this build") }}
148 {% end %}
149 </span>
150 </button>
151 </form>
152 {% end %}
153 </div>
818d23ca 154 </div>
fd82f3f7 155 </div>
63eb0844 156 </section>
ba487f54 157
4b6c830e
MT
158 {# List any fixed bugs #}
159 {% if bugs %}
160 <section class="section">
161 <div class="container">
162 <h5 class="title is-5">{{ _("Fixed Bugs") }}</h5>
163
164 {% module BugsList(bugs) %}
165 </div>
166 </section>
167 {% end %}
168
818d23ca 169 {% if build.jobs %}
63eb0844 170 <section class="section">
4b6c830e
MT
171 <div class="container">
172 {% module JobsList(build.jobs, show_arch_only=True, show_packages=True) %}
173 </div>
63eb0844 174 </section>
818d23ca 175 {% end %}
550e7194 176
b92715be
MT
177 {# Test Builds #}
178 {% if build.disable_test_builds %}
179 <section class="section">
4b6c830e
MT
180 <div class="container">
181 <h5 class="title is-5">{{ _("Test Builds")}}</h5>
b92715be 182
4b6c830e
MT
183 <div class="notification">
184 {{ _("Test builds have been disabled for this build") }}
185 </div>
b92715be
MT
186 </div>
187 </section>
188 {% elif build.test_builds %}
548cc46a 189 <section class="section">
4b6c830e
MT
190 <div class="container">
191 <h5 class="title is-5">{{ _("Test Builds")}}</h5>
548cc46a 192
4b6c830e
MT
193 {% module BuildGroupList(build.test_builds, limit=8) %}
194 </div>
548cc46a
MT
195 </section>
196 {% end %}
197
fb548d37 198 {# Log #}
4309513e 199 <section class="section">
4b6c830e
MT
200 <div class="container">
201 <h5 class="title is-5">{{ _("Log") }}</h5>
4309513e 202
4b6c830e
MT
203 {% module EventsList(priority=4, build=build, show_build=False) %}
204 </div>
4309513e 205 </section>
fb548d37
MT
206
207 {# Comment - This probably should go into a modal #}
208 <section class="section">
4b6c830e
MT
209 <div class="container">
210 <form method="POST" action="/builds/{{ build.uuid }}/comment">
211 {% raw xsrf_form_html() %}
212
213 <div class="field">
214 <label class="label">{{ _("Comment") }}</label>
215 <div class="control">
216 <textarea class="textarea" name="text" rows="8"
217 placeholder="{{ _("Comment...") }}"></textarea>
218 </div>
fb548d37 219 </div>
fb548d37 220
4b6c830e
MT
221 <div class="field">
222 <div class="control">
223 <button class="button is-link">Submit</button>
224 </div>
fb548d37 225 </div>
4b6c830e
MT
226 </form>
227 </div>
fb548d37 228 </section>
818d23ca 229{% end block %}