<div dir="ltr">Hi all,<div><br></div><div>Over the past week or two there have been a number of complaints regarding CI builder availability which i've done some investigating into this morning.</div><div><br></div><div>Part of this is related to the Windows CI builders falling offline due to OOM events, however the rest is simply due to a lack of builder time availability (which is what this email is focused on).</div><div><br></div><div>Given we have 6 Hetzner AX51 servers connected to Gitlab (each equipped with a Ryzen 7 7700 CPU, 64GB RAM and NVMe storage) the issue is not available build power - it is the number of builds and the length of those builds that is at issue.</div><div><br></div><div>This morning I ran a basic query to ascertain the top 20 projects for CI time utilisation on <a href="http://invent.kde.org">invent.kde.org</a> which revealed the following:</div><div><br></div><div><span style="font-family:monospace"><span style="color:rgb(0,0,0)"> full_path | time_used | job_count </span><br>------------------------------+------------------+-----------
<br> plasma/kwin | 320:47:04.966412 | 2387
<br> graphics/krita | 178:03:19.080763 | 423
<br> multimedia/kdenlive | 174:08:09.876842 | 697
<br> network/ruqola | 173:17:47.311305 | 555
<br> plasma/plasma-workspace | 155:10:03.618929 | 660
<br> network/neochat | 138:03:23.926652 | 1546
<br> education/kstars | 129:49:17.74229 | 329
<br> sysadmin/ci-management | 111:21:09.739792 | 154
<br> plasma/plasma-desktop | 108:56:52.849433 | 776
<br> kde-linux/kde-linux-packages | 81:00:10.001937 | 33
<br> kdevelop/kdevelop | 59:40:51.54474 | 217
<br> office/kmymoney | 54:32:00.24623 | 271
<br> frameworks/kio | 53:54:19.046685 | 690
<br> education/labplot | 52:36:30.343671 | 245
<br> murveit/kstars | 52:32:56.882728 | 128
<br> frameworks/kirigami | 47:07:19.172935 | 1627
<br> system/dolphin | 46:09:58.02836 | 705
<br> kde-linux/kde-linux | 39:25:54.052469 | 46
<br> utilities/kate | 36:09:22.18958 | 356
<br> wreissenberger/kstars | 35:58:14.120515 | 105<br></span><span style="font-family:monospace"><br></span></div><div>If we look closely, KStars has three spots on this list (totalling 216 hours of time used, making it the biggest app user of CI time).</div><div><br></div><div>Projects on the above list are asked to please review their jobs and how they are conducting development to ensure CI time is used efficiently and appropriately. </div><div><br></div><div>Other projects should also please review their usage and optimise accordingly even if they're not on this list as there is efficiencies to be found in all projects.</div><div><br></div><div><div>When reviewing the list of CI builds projects have enabled, it is important to consider to what degree your project benefits from having various builds enabled. One common pattern i've seen is having Alpine, SUSE Qt 6.9 and SUSE Qt 6.10 all enabled.</div><div><br></div><div>If you need to verify building on Alpine / MUSL type systems and wish to monitor for Qt Next regressions then you probably shouldn't have a conventional Linux Qt stable build as those two jobs between them already cover that list of permutations. </div></div><div><br></div><div>I've taken a quick look at some of these and can suggest the following:</div><div><br></div><div>KWin: it has two conventional Linux jobs (suse_qt69 and suse_qt610) plus a custom reduced feature set job. It seems like one of these conventional Linux jobs should be dropped.</div><div><br></div><div>KStars: Appears to have a custom Linux job in addition to a conventional Linux job. Choose one please.</div><div><br></div><div>Ruqola: Appears to be conducting a development process whereby changes are made in stable then immediately merged to master in a ever continuing loop. Please discontinue this behaviour and only periodically merge stable to master. </div><div><br></div><div>Also needs to drop one of it's Linux jobs as they're duplicating functionality as noted above.</div><div><br></div><div>Plasma Workspace/Desktop: At least in part this seems to be driven by Appium tests. Please reduce the number of these and/or streamline the process for running an Appium test. Consideration should be given to enabling the CI option use-ccache as well.</div><div><br></div><div>KDevelop: Please enable the CI option use-ccache.</div><div><br></div><div>Labplot: Appears to have a strange customisation in place to the standard jobs which shouldn't be necessary as flags in .kde-ci.yml should permit that to be done.</div><div><br></div><div>Thanks,</div><div>Ben</div></div>