<div dir="ltr"><div dir="ltr">On Wed, Jun 19, 2024 at 7:07 PM Ingo Klöcker <<a href="mailto:kloecker@kde.org">kloecker@kde.org</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Mittwoch, 19. Juni 2024 00:49:14 CEST Albert Astals Cid wrote:<br>
> kdenlive - 2nd week<br>
> * <a href="https://invent.kde.org/multimedia/kdenlive/-/pipelines/716283" rel="noreferrer" target="_blank">https://invent.kde.org/multimedia/kdenlive/-/pipelines/716283</a><br>
> * craft_appimage_qt6_x86_64 fails<br>
> <br>
> <br>
> isoimagewriter - NEW<br>
> * <a href="https://invent.kde.org/utilities/isoimagewriter/-/pipelines/716655" rel="noreferrer" target="_blank">https://invent.kde.org/utilities/isoimagewriter/-/pipelines/716655</a><br>
> * craft_appimage_qt6_x86_64 fails<br>
> <br>
> <br>
> neochat - NEW<br>
> * <a href="https://invent.kde.org/network/neochat/-/pipelines/716759" rel="noreferrer" target="_blank">https://invent.kde.org/network/neochat/-/pipelines/716759</a><br>
> * craft_appimage_qt6_x86_64 fails<br>
<br>
All of these fail because the tests of kconfig don't build. I'm wondering why <br>
not all AppImage builds of all projects fail.<br>
<br>
The cause for the failing (or highly unstable) builds of the tests of kconfig <br>
is an error in the test design. Here's what I wrote late last night in<br>
#kde-craft:<a href="http://kde.org" rel="noreferrer" target="_blank">kde.org</a>.<br>
<br>
===<br>
There is a pair of tests, e.g. Test8 and Test8_cmake where the latter is <br>
supposed to test that cmake can generate a .kcfgc file. The problem is that <br>
both tests share the same test8main.cpp which includes a test8a.h. This <br>
test8a.h is generated via test8a.kcfg[c] for Test8, but for Test8_cmake <br>
test8a_cmake.h is generated via a test8a_cmake.kcfg[c]. If for some reason <br>
Test8_cmake is built before Test8 then test8main.cpp doesn't find test8a.h. I'm <br>
not yet sure how to fix this. Maybe we need to create patched copies of <br>
testXmain.cpp which includes a testXx_cmake.h instead of a testXx.h. Or maybe <br>
we put both tests in separate subdirs and don't append _cmake to the files used <br>
for the TestX_cmake tests. That's feels like a cleaner solution also because <br>
it better isolates the two tests from each other.<br>
===<br>
<br>
With make the problem doesn't seem to occur because it looks like the Makefiles <br>
serialize building of Test8 and Test8_cmake so that Test8_cmake is always <br>
built after Test8 where Test8 creates the headers that Test8_cmake uses. With <br>
ninja the builds of both targets don't seem to be serialized so that <br>
Test8_cmake could be built before Test8. -> Fail!<br></blockquote><div><br></div><div>Interestingly there must be a platform specific part to this, as the CI system uses Ninja on Windows for those builds. </div><div>Either that or we have a newer version of Ninja in Craft that hasn't hit the CI system yet....</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Regards,<br>
Ingo<br></blockquote><div><br></div><div>Cheers,</div><div>Ben </div></div></div>