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