On 7/30/25 9:15 PM, Ben Cooksley wrote:
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.
That part seems pretty uncontroversial.
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.
That's not something that's unique to Plasma in any way. Sometimes you
make a merge request and it quickly gets approved and merged, sometime
it takes a few iterations until consensus is reached. That's how it
works for any reasonably active project where it's not just one guy
pushing straight to master.
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