-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Qt: default options should not be dependent on CI environment #23911
Qt: default options should not be dependent on CI environment #23911
Conversation
🤖 Beep Boop! This pull request is making changes to 'recipes/qt//'. 👋 @ericLemanissier @jwillikers @MartinDelille @paulharris you might be interested. 😉 |
@jcar87 you want to set the option to False by default or the build time and space will be too important for C3I |
Was the recipe building those Qt modules before that change was put in place? Or is the "essential" modules group a completely different set of modules compared to the previous defaults? Unrelated to this PR but will also make sure we update the Xcode 13 compiler on CI so that it can be built on macOS as well. That one is easy to fix |
Setting the option to False will build only qtbase, which is what was built until I introduced this new option. Regarding the usefulness of a qtbase only build, it is very unlikely that consumers use only qtbase. Most projects also use other modules like qttools, qtquick etc.. so the binaries produced by C3I are very close to useless regardless ot the default value of options outside C3I Rules regarding the use of this environment variable should be documented (with a short explanation of the motivation) to avoid future problems. I can change the default value in my PR on qt which is waiting for team review #23571 |
Apologies that the PR that introduced this use was approved and merged - this should not have happened. This one is on us! We want to avoid recipes having logic that is "exclusive" to Conan Center CI - CI is a moving target, so it's unlikely that the logic stands the test of time anyway, and it's an anti-pattern to have the recipes contain logic to work around or bypass CI issues or limitations. We are working on a solution where if CI needs to be skipped for any configuration, we can do that outside of the recipe logic - but otherwise, and for avoidance of doubt: this variable must not be used other than the one place in the Qt recipe in the Troubleshooting issues like this: conan-io/conan#16215 is very time consuming, as we do not expect the default options to be dependent on the environment. Users rely con |
What is a good default for Qt in terms of modules to build? |
This comment has been minimized.
This comment has been minimized.
By default (outside of conan), qt builds all modules for which mandatory dependencies are detected. On my machine calling
So even non-essential modules like qtmultimedia are enabled by default. |
I always end up having to enable Wayland and EGL for Qt for our use cases. |
Conan v1 pipeline ✔️All green in build 3 (
Conan v2 pipeline ✔️
All green in build 3 (
|
Hooks produced the following warnings for commit d9704abqt/5.15.11@#0549bf9b418d3d156e6fa0edbc4d948d
qt/5.15.12@#b4d1432b04bfbba8eced7e4edc508821
qt/5.15.10@#5820cebd347eafd74a24cf77cc46529b
qt/5.15.13@#1e3e0c28041f4a150d3bc0033f3cae4c
qt/5.15.9@#097767e6fb873285ce7ab3e96cf035e1
qt/6.7.0@#09d03f6d1c35f1879ad2f2629bdefaef
qt/6.6.2@#5f538bd98c62ff8f7dcb0833960165e8
qt/6.6.3@#e6a381f2f800d61d1acd41d4b37f418f
qt/6.6.1@#bda3f2cc90913192268482568f10eec0
qt/6.6.0@#1c4e6644b80d20c9e005f3d5ab9b262d
qt/6.5.3@#70aa885db5bdea39ce9a1461ad50253e
qt/6.3.2@#35e4ddada939f22eca110323d858e8d5
qt/6.4.2@#4006db2923e767bebb2435e61c498e3e
|
Hello, any updates on this PR? |
Hi @ABBAPOH - looking to sort this out today or in the next couple of days. I would advice, in the meantime, to explicitly define Out of curiosity and to help us find the best solution, what would be your expectation for the default value? Thanks! |
@jcar87 I ran into this issue today, where prebuilt Qt packages were not found because defaults in conancenter do not match user defaults. For now I worked around it with Did you find a long term solution to this? |
This should have be resolved in the most recent revisions of the qt recipe: #24876 (12-August-2024). If you are using a maintained version, moving to a recent revision should resolve this problem (the default is now |
@jcar87 Thank you, moving to the latest revision resolved the problem. |
Qt: fix issue where CI generates binaries that differ from user environments. The environment variable was added for a specific case where CI should not skip binary generation for reasons external to the recipe itself (like CI) to raise an InvalidConfiguration (this is a stop-gap measure until we have other mechanisms to skip binary generation for specific recipes without having CI fail). In any case, the recipes in Conan Center Index must not have default values for options depend on environment variables. If CI cannot generate binaries this needs to be reflected a different way altogheter.