On Wed, 8 Jan 2020 at 18:31, Iñaki Ucar <iucar(a)fedoraproject.org> wrote:
* Task blocking based on dependencies per chroot. If I submit tasks
[A, B, C] and [B, C] depend on A, I want [B, C] blocked in "pending"
until A is successfully built. Maybe a couple of retries if A fails,
and then [B, C] should be skipped if A still fails.
In fact, for simplicity, I'd say I simply want *my* whole pending
queue blocked until A succeeds, not just [B, C], or otherwise skipped.
This would greatly facilitate the management of large projects,
because I can calculate the dependency tree and then submit the
desired build ordering myself, but if I don't have this blocking
mechanism (and the build ordering guarantee!) in COPR, I need to
implement it on my side, which is very slow and error prone (the API
is in between).
Also, another important thing I just remembered as I was writing
"API": we cannot retrieve the information for all builds via the API
for large projects, because it's painfully slow. What I do for
iucar/cran, instead, is to wget
https://copr.fedorainfracloud.org/coprs/iucar/cran/monitor/ (which is
also painfully slow, but at least it eventually succeeds) and then I
parse the resulting HTML table. ¯\_(ツ)_/¯ Far from ideal from every
point of view.
--
Iñaki Úcar