Hi, Regarding Zuul, your are right the cleanup is not configured and canceled jobs (eg. due to a PR being rebased/updated/closed) don't trigger a cancel scratch build on Koji. However Zuul provides a hook for this [1], then that would be a matter of adding the proper playbook to run in the job definition for the scratch build cleanup [2].
Fabien [1] https://zuul-ci.org/docs/zuul/latest/config/job.html#attr-job.cleanup-run [2] https://pagure.io/fedora-zuul-jobs-config/blob/master/f/zuul.d/jobs.yaml#_81 On Wed, Nov 13, 2024 at 11:37 AM Nikita Popov <npo...@redhat.com> wrote: > Hi! > > The llvm rpm (https://src.fedoraproject.org/rpms/llvm) has recently been > struggling with Fedora CI, by which I mean the CI that produces scratch > builds and runs dist-git tests on merge requests. > > The llvm rpm has a combination of long build times (typically 3-8 hours on > koji, depending on arch) combined with many merge requests, which is where > things break down. We've received multiple complaints that scratch builds > for our MRs occasionally end up clogging s390x koji, due to a number of > problems with Fedora CI. > > * Both Zuul and Fedora CI produce their own independent scratch builds, > increasing load by 2x. I think this is tracked as part of > https://pagure.io/fedora-ci/general/issue/476. This is the only problem > we were able to address ourselves, by disabling Zuul. > > * Fedora CI does not cancel old scratch builds when a new commit is pushed > or the MR is rebased (https://pagure.io/fedora-ci/general/issue/493). > This means that if some changes are pushed in response to MR feedback, you > end up with an extra set of scratch builds running in parallel. This is > further exacerbated by Pagure not having proper support for rebase merges, > so if you hit Rebase and then Merge you also get a bonus scratch build. > (I'm not sure whether Zuul properly cancels scratch builds, or whether it > produces zombies as well.) > > * Fedora CI has no configurability. For example, we can't disable just the > s390x scratch builds (https://pagure.io/fedora-ci/general/issue/494), > which tend to be more than twice as slow as other builds. > > * As far as I know, it's not even possible to disable Fedora CI entirely > to e.g. only use Zuul instead. Similarly, we can't stop automatically > triggering Fedora CI and requiring manual [citest] instead. > > * For scratch builds longer than 4 hours, Fedora CI will never report back > the result (https://pagure.io/fedora-ci/general/issue/485), even though > the scratch build continues running. It will stay in the pending state > forever. For llvm all scratch builds take more than 4 hours, so we never > get results. This also means that dist-git tests never run. I submitted a > PR to raise this timeout ( > https://github.com/fedora-ci/dist-git-build-pipeline/pull/41) but wasn't > able to get a response. > > It's not really necessary to solve *all* of these problems -- I think the > MVP to make MRs usable for llvm without negatively affecting other people > would probably be to increase the timeout and either a) implement > auto-cancellation for scratch builds or b) allow preventing auto-start of > CI, requiring manual [citest]. (Naively, I assume the latter is easier to > implement.) > > However, I haven't been able to get any response from maintainers on > Fedora CI issues or PRs, so I'm not really sure what to do here anymore, > thus this mail to fedora-devel. I'd appreciate any pointers on how to move > forward. > > Regards, > Nikita > -- > _______________________________________________ > devel mailing list -- devel@lists.fedoraproject.org > To unsubscribe send an email to devel-le...@lists.fedoraproject.org > Fedora Code of Conduct: > https://docs.fedoraproject.org/en-US/project/code-of-conduct/ > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines > List Archives: > https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org > Do not reply to spam, report it: > https://pagure.io/fedora-infrastructure/new_issue >
-- _______________________________________________ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue