Files
msys2-web/app/templates/queue.html
Naveen M K edc4aa02b4 Fix a typo
2022-09-11 18:12:22 +02:00

173 lines
6.2 KiB
HTML

{% extends "layout.html" %}
{% block title %}Pending Package Updates{% endblock %}
{% block inner_content %}
<div class="card mb-3">
<div class="card-header">
<h4 class="card-title">Pending Package Updates</h4>
<h6 class="card-subtitle mb-2 text-muted">
{{ updates|length }} packages which have a newer version in the Git
repository than in the pacman repository
</h6>
</div>
<div class="card-body overflow-auto">
<p class="text-muted">
Packages get automatically built via <a
href="https://github.com/msys2/msys2-autobuild/actions/workflows/build.yml">msys2/msys2-autobuild</a> and
<a href="https://github.com/msys2-arm/msys2-autobuild/actions/workflows/build.yml">msys2-arm/msys2-autobuild</a>.
Maintainers can control the build pipeline <a href="https://msys2autobuildcontroller.pythonanywhere.com">here</a>.
<br>
They still get manually signed and uploaded to the pacman repo after
they are built, so please be patient :)
</p>
<form class="row g-2 align-items-center" action="{{ url_for('queue') }}" method="get">
<div class="col-auto">
Repositories:
</div>
<div class="col-auto">
<select name="repo" class="form-select form-select-sm" onchange="this.form.submit()">
<option {{ "selected" if not repo_filter or "" }} value="">All</option>
{% for r in repos|sort(attribute='name') %}
<option value="{{ r.name }}" {{ "selected" if repo_filter == r.name or "" }}>{{ r.name }}</option>
{% endfor %}
</select>
</div>
<div class="col-auto ms-auto">
<button type="button" id="refresh-button"
class="btn btn-sm btn-outline-secondary">
Request refresh
</button>
</div>
<script type="module">
let button = document.getElementById('refresh-button');
button.addEventListener('click', () => {
fetch('/api/trigger_update', {method: 'POST'});
});
</script>
</form>
<br>
<table class="table table-hover table-sm">
<thead>
<tr>
<th>Update Date</th>
<th>Base Package</th>
<th>Repo Version</th>
<th></th>
<th>Git Version</th>
<th>Status</th>
</tr>
</thead>
<tbody>
{% for (srcpkg, s, p, status) in updates %}
<tr>
<td class="mytooltip">
<a href="{{ srcpkg.history_url }}">{{ srcpkg.date.split()[0] }}</a>
<template class="mytooltip-content">
{{ srcpkg.date }} <span class="text-muted">(UTC)</span>
</template>
</td>
{% if s %}
<td><a href="{{ url_for('base', base_name=s.name) }}">{{ s.name }}</a></td>
{% else %}
<td><a href="{{ srcpkg.source_url }}">{{ srcpkg.pkgbase }}</a></td>
{% endif %}
{% if p %}
<td class="text-version">{{ p.version }}</td>
{% else %}
<td>-</td>
{% endif %}
<td></td>
<td class="text-version">{{ srcpkg.build_version }}</td>
<td class="mytooltip text-{{ status[0].category or 'muted' }}">
{{ status[0].status }}
{% for s in status %}
<small class="text-muted">
{% if s.urls %}
<br>
{{ s.type }}:
{% for key, value in s.urls.items() -%}
{% if not loop.first %} / {% endif %}<a href="{{ s.urls[key] }}">{{ key }}</a>
{%- endfor -%}
{% endif %}
</small>
{% endfor %}
<template class="mytooltip-content">
<dl>
{% for s in status %}
<dt>{{ s.type }}: <span class="text-{{ s.category or 'muted' }}">{{ s.status }}</span></dt>
<dd>
{% if s.details %}
{{ s.details }}
{% endif %}</dd>
{% endfor %}
</dl>
</template>
</td>
</tr>
{% endfor %}
</tbody>
</table>
<p class="text-muted">
The packages above marked "Ready for upload" are also available in a
special <a href="https://repo.msys2.org/staging/">staging pacman
repo</a>. Note that using the staging repo might result in some packages
being broken from time to time as it can contain partial build results
of multi-package rebuilds. To use it add the following to the top of
<code>/etc/pacman.conf</code>:</p><pre><code>[staging]
Server = https://repo.msys2.org/staging/
SigLevel = Never</code></pre>
</div>
</div>
<div class="card mb-3">
<div class="card-header">
<h4 class="card-title">Pending Package Removals</h4>
<h6 class="card-subtitle mb-2 text-muted">
{{ removals|length }} packages which are in the pacman repository, but no
longer in the Git repository and can be removed
</h6>
</div>
<div class="card-body overflow-auto">
<table class="table table-hover table-sm">
<thead>
<tr>
<th>Update Date</th>
<th>Repo</th>
<th>Package</th>
<th>Status</th>
</tr>
</thead>
<tbody>
{% for s, p, note in removals %}
<tr>
<td class="mytooltip">
<a href="{{ s.history_url }}">{{ (p.builddate|timestamp).split()[0] }}</a>
<template class="mytooltip-content">
{{ p.builddate|timestamp }} <span class="text-muted">(UTC)</span>
</template>
</td>
<td>{{ p.repo }}</td>
<td><a href="{{ package_url(p) }}">{{ p.name }}</a></td>
{% if note %}
<td class="text-danger">Required by: {{ note }}</td>
{% else %}
<td class="text-success">Ready for removal</td>
{% endif %}
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
{% endblock %}