It was passing the display text to the sort function, not the enum value, so only worked by accident. Refactor/rename things a bit to make this more clear. Also give the unknown/unprocessed state a higher priority, so it shows up before the finished builds. Same for manual builds, since they require user action.
172 lines
6.5 KiB
HTML
172 lines
6.5 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://autobuildcontroller.msys2.org">here</a>.
|
|
<br>
|
|
After the packages are built they still need to be manually signed and uploaded to the pacman repo, so please be patient :)
|
|
</p>
|
|
|
|
<form class="row g-2 align-items-center" action="{{ url_for('queue') }}" method="get">
|
|
<div class="col-auto">
|
|
Build Types:
|
|
</div>
|
|
|
|
<div class="col-auto">
|
|
<select name="build_type" class="form-select form-select-sm" onchange="this.form.submit()">
|
|
<option {{ "selected" if not build_filter or "" }} value="">All</option>
|
|
{% for bt in build_types %}
|
|
<option value="{{ bt }}" {{ "selected" if build_filter == bt or "" }}>{{ bt }}</option>
|
|
{% endfor %}
|
|
</select>
|
|
</div>
|
|
</form>
|
|
|
|
<br>
|
|
|
|
{% if cycles %}
|
|
<p> Cycles:
|
|
{% for (a, b) in cycles %}
|
|
<a href="{{ url_for('base', base_name=a) }}">{{ a }}</a> ↔ <a href="{{ url_for('base', base_name=b) }}">{{ b }}</a>{{ ", " if not loop.last else "" }}
|
|
{% endfor %}
|
|
</p>
|
|
{% endif %}
|
|
|
|
<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 (srcinfo, s, p, status) in updates %}
|
|
<tr>
|
|
<td class="mytooltip">
|
|
<a href="{{ srcinfo.history_url }}">{{ srcinfo.date.split()[0] }}</a>
|
|
<template class="mytooltip-content">
|
|
{{ srcinfo.date }} <span class="text-muted">(UTC)</span>
|
|
</template>
|
|
</td>
|
|
{% if s %}
|
|
<td><a href="{{ url_for('base', base_name=s.name) }}">{{ srcinfo.pkgbase }}</a></td>
|
|
{% else %}
|
|
<td><a href="{{ srcinfo.source_url }}">{{ srcinfo.pkgbase }}</a></td>
|
|
{% endif %}
|
|
{% if p %}
|
|
<td class="text-version">{{ p.version }}</td>
|
|
{% else %}
|
|
<td>-</td>
|
|
{% endif %}
|
|
<td>→</td>
|
|
<td class="text-version">{{ srcinfo.build_version }}</td>
|
|
<td class="mytooltip text-{{ status[0].category or 'muted' }}">
|
|
{{ status[0].status_text }}
|
|
{% for s in status %}
|
|
<small class="text-muted">
|
|
{% if s.urls %}
|
|
<br>
|
|
{{ s.build_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.build_type }}: <span class="text-{{ s.category or 'muted' }}">{{ s.status_text }}</span></dt>
|
|
<dd><small class="text-muted">
|
|
{% if s.details %}
|
|
{{ s.details }}
|
|
{% endif %}</small></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 p, rdepends in removals %}
|
|
<tr>
|
|
<td class="mytooltip">
|
|
<a href="{{ p.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 rdepends %}
|
|
<td><span class="text-danger">Required by:</span>
|
|
<ul class="list-unstyled">
|
|
{% for rp, r in rdepends|rdepends_sort %}
|
|
<li><a href="{{ package_url(rp) }}">{{ rp.name }}</a>{% if r|rdepends_type %} <span class="text-muted">({{ r|rdepends_type|sort|join(', ') }})</span>{% endif %}</li>
|
|
{% endfor %}
|
|
</ul>
|
|
</td>
|
|
{% else %}
|
|
<td class="text-success">Ready for removal</td>
|
|
{% endif %}
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
{% endblock %}
|