On Thu, Jul 31, 2025 at 4:52 AM Harald Sitter <sit...@kde.org> wrote:

> On Wed, Jul 30, 2025 at 1:25 PM Ben Cooksley <bcooks...@kde.org> wrote:
> >
> > On Wed, Jul 30, 2025 at 7:18 PM Vlad Zahorodnii <vlad.zahorod...@kde.org>
> wrote:
> >>
> >> On 7/30/25 9:58 AM, Harald Sitter wrote:
> >> > Hey
> >> >
> >> > So, I need to vent a bit. I am super unhappy with the manual CI
> >> > trigger stuff. Half the time I forget.  When I don't forget I want to
> >> > press all the buttons, but I can't because of the prestage, I usually
> >> > sit there for 5 seconds, nothing happens because the prestage takes
> >> > more than 5 seconds, I get distracted and do something else ... and
> >> > forget I wanted to land something at all.
> >
> >
> > I was working on some merge requests for sysadmin/repo-metadata just a
> few hours ago, which only contains basic linting jobs.
> > They were picked up and fully processed in the space of ~30 seconds -
> total of 6 different linter jobs (so 6 containers spawned in total).
> >
> > All seems quite reasonable for processing turnaround.
> >
> >>
> >> >
> >> > More and more I find myself not caring and merging without pre-merge
> >> > CI. Between the manual triggers, failing appium tests, and conflicting
> >> > merges I just can't be bothered with the CI. Surely that can't be the
> >> > goal here.
> >> >
> >> > Can we get back a CI that helps?
> >>
> >> Hi,
> >>
> >> Just in case, the automatic CI got disabled because kwin had too many
> >> pipelines and it takes about 10-15 minutes for a single pipeline to
> >> complete.
> >>
> >> There was a long and somewhat heated discussion about it. We asked to
> >> disable automatic CI for kwin specifically, so when you push to a work
> >> branch that is not ready to be merged yet, no CI resources are wasted.
> >> However, instead, automatic CI got disabled for all Plasma projects.
> >> Sorry! :(
> >
> >
> > Plasma in general was set to manual for all merge requests because the
> commentary in that thread made it appear that the workflows were more
> Plasma than just KWin. There are also issues with Appium tests in Plasma
> Desktop / Workspace which mean pipelines take an extremely long amount of
> time to complete/fail (something on the order of 40-50 minutes if memory
> serves)
> >
> > The overuse of CI resources by Plasma could in part be mitigated by
> marking merge requests that are not ready to merge as draft, which seems to
> be a Gitlab feature that is not in use at all at least if I take a cursory
> look at current pending KWin MRs. We already set CI into manual mode for
> draft merge requests as a global rule, as well as for work branches.
>
> What confuses me right now is whether this is just plasma being an
> active project or gitlab having poor behavior. It occurs to me that
> the former would be solved by giving plasma dedicated plasma resources
> to use, while the latter is a matter of hiring someone to engineer the
> problem(s) with gitlab away.
> Both solvable problems though.
>

If memory serves correctly the general view from that thread could be
summarised as:
1) Work branches were basically used to immediately open merge requests in
the majority of cases, so running CI on pushes to work branches was simply
a waste as CI would be (re-)run on the merge request.
2) Merge requests were used as part of an iterative development workflow,
and as such CI runs on merge requests were in many cases also useless
because the MR was not yet ready to be merged and was still under active
development.

Because merge requests that aren't actually ready for final review and then
merging cannot currently be distinguished from merge requests that are not
at all ready and are just collecting comments, the only way to solve for
(2) is to switch CI to manual on merge requests.

Gitlab already has a mechanism for differentiating between those two types
of merge requests (marking as draft) however it is not used by Plasma (or
at least wasn't on the two pages of KWin reviews I quickly skimmed)

So this isn't really Gitlab's fault, it is how Plasma has opted to use
Gitlab.

If you were to adopt the draft flag on merge requests that are in that
iterative phase and not intended to be merged then we could look at
adjusting how it works.

Note that this won't do anything to solve broken tests, or tests that take
too long - that is something only Plasma developers can correct.

Cheers,
Ben

Reply via email to