Commit Graph

50 Commits

Author SHA1 Message Date
Samuli Piippo
d90f91dfd6 coin: test with clang compiler
Add CI build target use clang compiler and lld linker.

Change-Id: Ie84a6155987e2ba742d81d52bde4f14e9ff1f8d0
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2025-12-05 10:52:04 +00:00
Samuli Piippo
ee8b754f62 Update supported and tested Yocto versions
Update support table with Yocto 6.0 Wrynose, to be supported in dev
and lts-6.8. Remove styhead from CI builds as it's already EOL.
Qt 6.9 branch is now closed, no more changes accepted.

Pick-to: 6.10 6.8
Change-Id: I3b9ed3fa0c88c4311dce8c008037f79cbc7fd947
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2025-11-21 07:45:59 +02:00
Samuli Piippo
440e034c62 coin: use poky from separate layers
The poky repository doesn't get updates anymore in whinlatter,
switch to using separate layers.

Pick-to: 6.10 6.8
Change-Id: Icb47e445d11e1fbadaacb97818212c5704a5a745
Reviewed-by: Ari Parkkila <ari.parkkila@qt.io>
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2025-11-13 14:11:28 +00:00
Samuli Piippo
05afb49818 coin: run yocto compatibility check only once
Use only one target to run the yocto-check-layer test and
run it without test configs.

Change-Id: I64b28122696e485539d06c944313f02714d8c29f
Reviewed-by: Ari Parkkila <ari.parkkila@qt.io>
2025-11-13 14:11:22 +00:00
Samuli Piippo
6da7dbdbf4 coin: add CI build without opengl
Test build without opengl and wayland in DISTRO_FEATURES.
The default qtbase configuration depends on these DISTRO_FEATURES
and not all modules are available without opengl or wayland.
Rework coin configs to enable features when needed.

Change-Id: I20b55f46f7ead0a5d1e0f7d7c98ff9e2aaa83d87
Reviewed-by: Ari Parkkila <ari.parkkila@qt.io>
2025-09-16 19:14:38 +00:00
Samuli Piippo
fbaed93d8b Add separate recipes for Qt module examples
Building Qt examples as part of the module build is no longer
recommended and results in missing files in some of the examples.
Add separate recipes for each Qt module that has examples.

Don't package sources with the examples, but set debug mapping
to the module's source path.

Qt module examples are mainly available with BSD-3-Clause license,
regardless of licenses that the modules themselves are using.

Since qtdoc module has only examples, remove the module recipe.

Fixes: QTBUG-136651
Change-Id: Ic8f8c579a28b9a1369f8463f725574b0c67a896a
Reviewed-by: Ari Parkkila <ari.parkkila@qt.io>
2025-08-27 12:04:04 +00:00
Samuli Piippo
f9334e6ae4 coin: run yocto-check-layer as part of CI
Use yocto-check-layer to verify compatibility to Yocto project.

Task-number: QTBUG-138741
Change-Id: I4189f8c5053665919e852eadd7fc515b5568256d
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2025-08-19 13:34:18 +00:00
Samuli Piippo
2726f553e6 coin: drop kirkstone builds
No support for kirkstone builds.

Change-Id: I73c150cfad9e5cda011d39ed9496a1c40367da2c
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2025-06-12 12:11:07 +00:00
Samuli Piippo
aece381085 coin: add CI build for walnascar
Add separate CI build for Yocto 5.2 Walnascar release.

Pick-to: 6.9 6.8
Change-Id: Ibf04ed1db18516c2965153b17b07b3fad922eb79
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2025-04-07 11:44:33 +00:00
Samuli Piippo
76cbb93c22 coin: use internal mirror of git-repo
Cloning from github have been failing recently, use internal
mirror of google's git-repo instead.

Pick-to: 6.9 6.8 6.5
Change-Id: I3983812c59be601632c3e27b6aab00c0e09ce037
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2025-01-31 15:51:06 +02:00
Samuli Piippo
aec6f0103f coin: build against styhead
Nanbield is EOL, switch the build to Yocto 5.1 styhead.

Task-number: QTBUG-128570
Pick-to: 6.8
Change-Id: Ie655e9a1dbfe0f806815c1d6951c01f262efb5a1
Reviewed-by: Ari Parkkila <ari.parkkila@qt.io>
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2024-10-18 12:48:41 +00:00
Samuli Piippo
de4eb1843d coin: switch one build to scarthgap
Start testing against Yocto scarthgap release.

Pick-to: 6.7
Change-Id: I70de9b7a3fce7c3c062b381533af8d86a70660f7
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2024-04-11 08:59:49 +03:00
Samuli Piippo
7e79a5e31a coin: don't use nanbield for mingw builds
Nanbield still has problems with mingw builds and fixes might
not get in before it is EOL.

Pick-to: 6.7
Change-Id: I56ee0c52269e2887a60c73049cb0d9deac11247c
Reviewed-by: Ari Parkkila <ari.parkkila@qt.io>
2024-04-11 08:59:44 +03:00
Samuli Piippo
564f560b50 coin: update build targets
Add 6.7 to test matrix and reshulffle the build targets.
mickledore is EOL, drop it from active testing.

Pick-to: 6.7
Change-Id: Ia371a06c10b3f66956227d5d7c0357cb83097f87
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2024-01-30 08:13:20 +02:00
Samuli Piippo
550194a77a coin: add CI build for nanbield
Add separate build for nanbield. Update readme for the supported
branches. Next Yocto release (scarthgap) will be LTS relase,
aim to support it from Qt 6.5 upwards.

Pick-to: 6.6 6.5
Change-Id: I37141b4d2a93fc6b276de906dbb7ba60b2733c41
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2023-11-14 07:52:47 +00:00
Samuli Piippo
30dfd502b3 coin: remove langdale from CI tests
Langdale is now EOL, stop testing Qt against it.

Pick-to: 6.6 6.5
Change-Id: Idba5e353ef3ec484e088fe831ed59f54d70b3acf
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2023-08-22 13:03:22 +00:00
Samuli Piippo
b06c0b1d69 Drop support for older Yocto releases
Kirkstone will be the oldests Yocto release supported by Qt 6.7.
Qt 6.7 will be released in spring 2024, at which point Dunfell
will be EOL.

Change-Id: I8fee78d4d75401a502762e4b28987a07bfdd1af4
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
Reviewed-by: Tommi Mänttäri <tommi.manttari@qt.io>
2023-08-22 13:03:16 +00:00
Samuli Piippo
651610f42f Coin: use correct path for mirror
Pick-to: 6.5 6.2
Change-Id: I878122ac5a34aaf464bb4190e3307793c53eabba
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2023-05-29 07:38:25 +03:00
Samuli Piippo
7931febe45 coin: test against mickledore
Add testing against Yocto 4.2 mickledore.

Pick-to: 6.5
Change-Id: If69b95726e858849470ed433235916811501aed8
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2023-04-20 13:17:16 +00:00
Samuli Piippo
a55215df48 coin: be explicit about accepted commercial licenses
Dunfell is only branch that still uses the old whitelist variable.
Rename the include file and be specific what commercial recipes the
build needs. Remove the separate post-inclusive include file and move
the accepted commercial license variable to common include file.

Pick-to: 6.5
Change-Id: Ic80b42d71037637298c805a60f20c8737f00b026
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
Reviewed-by: Ari Parkkila <ari.parkkila@qt.io>
2023-03-22 14:02:58 +00:00
Samuli Piippo
61f984c49d Coin: fetch repo from github
Git clones from google fail frequently with:
   >> fatal: early EOF
   >> error: index-pack died
Switch to using github mirror for the git-repo repository.

Pick-to: 6.5 6.5.0 6.4 6.4.3 6.2
Change-Id: Id0cbf3c59e50869d62880e56251b003490c4c1ee
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2023-03-09 11:16:50 +00:00
Samuli Piippo
0648a0a4ef CI: tests against langdale
Update CI builds to use langdale instead of honister releases.

Pick-to: 6.4
Change-Id: Ib18be53b6d3308d5e4c5a2269b40ce67a4c352ee
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2022-11-09 13:23:36 +00:00
Samuli Piippo
aa5aa76ef1 qtwebengine: move to 102-based chromium
Latest chromium no longer supports x86 builds.
Enabled spellchecker as build fails without it.

Change-Id: I6f40d48c20a47edbbc958e2f9c25907d05feb5b1
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
(cherry picked from commit c1441fcabc)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2022-10-20 07:19:52 +00:00
Samuli Piippo
670a077467 Coin: add CI build for kirkstone
Add CI build using Yocto kirkstone branches and retire hardknott build
in favor of it. Hardknott is EOL on April 2022. Only dev branch will
continue to be tested against Yocto master.

Change-Id: I9aad0e14c1a5054b2e9eab85ec8a2f2d603f6427
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2022-04-26 08:09:56 +03:00
Samuli Piippo
ab0d93e29e Coin: add static test build
Build Qt staticially with examples enabled but tests disabled.
We don't want to remove ptest from DISTRO_FEATURE, because that
would cause rebuild of most system components as well.

Pick-to: 6.3 6.2
Change-Id: Ic1181d09951ee5d50b08182600f0664b8859afcc
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2022-03-15 11:19:57 +02:00
Samuli Piippo
2d4825f309 Coin: adapt to variable renaming
In kirkstone, some of the variable have been renamed to
use inclusive language.

Pick-to: 6.3 6.2
Change-Id: Ic03fc3a748ea6a4e3e510040b9cd6b5e038d4662
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2022-02-24 09:36:41 +00:00
Samuli Piippo
0708a33ea6 Coin: use include files for configuration
Restructure the Coin build configs so that all configurations
are already in .inc files that can be easily included.

Pick-to: 6.3 6.2
Change-Id: I93d74254804b7d17106a3f08af2973464e669928
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2022-02-24 09:36:33 +00:00
Samuli Piippo
688791f03d Coin: use manifest to fetch meta layers
Use manifests to fetch meta layer repositories. This enables
us to easily pin the upstream layers to specific revision if
and when the latest revision gets broken.

Build again against master branch, the manifest is pinned to
working meta-openembedded revision.

Pick-to: 6.3 6.2
Change-Id: I5d217f6932aaf5eaacae8ccbc790ea31aaa27f37
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2022-02-01 19:18:25 +02:00
Samuli Piippo
3da9ed068a Coin: disable CI build against upstream master
meta-openebedded is currently broken due to nativesdk-python3-cryptography.

Pick-to: 6.3 6.2 6.2.3
Change-Id: I99fa9313c1c8d1196bc09a8755269ecffe75ce56
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2022-01-20 10:00:19 +02:00
Samuli Piippo
57b22c6ea0 qtwebengine: update to 94-based chromium
QtWebEngine based on 94 chromium can be build with python3.
Remove all references to python2 and its meta layer.

Latest oe-core has version of ICU, freetype, harfbuzz and ffmpeg
that are not compatible with Chromium. Disable those PACKAGECONFIGs
by default.

Change-Id: Ie2e38db14df0f51aaa87ecde7e0487b31be0bddd
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2021-12-31 09:29:05 +00:00
Samuli Piippo
7c192d68dc Revert "Coin: add required zstd"
This reverts commit a77f474aba.
Zstd is now available in the provisioning.

Pick-to: 6.3 6.2
Change-Id: Id66a3a8797e0c893318974a6fe2dd4e032d563b4
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2021-12-15 17:01:08 +02:00
Samuli Piippo
16be6131ae Use correct domain for yocto-cache
Pick-to: 6.2
Change-Id: I669912271b14cc35c09e390fe26b2da4a6cdb8b3
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2021-11-24 10:32:31 +02:00
Samuli Piippo
3cc53e8e7f coin: use openembedded from the upstream source
Github won't be supporting git protocol anymore, switch to using
layer from openembedded.org.

Pick-to: 6.2
Change-Id: Id711fe7818d37650b0643c17bd3386ca1a344f9a
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2021-11-03 17:52:33 +02:00
Samuli Piippo
178142ee57 Coin: add builds against Honister
Honister is now released, add it to the CI test builds.

Pick-to: 6.2
Change-Id: Ice5813836d8a4edb435db71017d231468993edcf
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2021-11-03 09:53:21 +02:00
Samuli Piippo
673457878e Coin: build Qt packagegroups in CI integrations
Current CI build using the toolchain recipe is a bit limited as the
package_qa tasks were never ran for the Qt recipes. Also the rm_work
was not done which lead to disk space running out in CI builds. Add
both native and target packagegroup recipes to the target builds that
will ensure that both of the above mentioned tasks are now run.

Pick-to: 6.2
Change-Id: Ifb73b807f4f9f551836bfa20003aaf88bc758d78
Reviewed-by: Pasi Petäjäjärvi <pasi.petajajarvi@qt.io>
2021-10-29 12:40:52 +03:00
Samuli Piippo
a1a2a0b048 Coin: extend CI coverage to older yocto branches
Add dunfell and hardknott to the CI build. Skip building QtWebEngine
in dunfell, since it required newer cmake than dunfell can offer.
As Gatesgarth is already EOL, do not add it to testing although
it is still listed as compatible version.

Task-number: QTBUG-97065
Change-Id: I3538d756294043fae119c78d018c61be766f2538
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2021-10-06 10:17:00 +03:00
Samuli Piippo
4f46daa9e2 Add QtWebEngine
Build QtWebEngine using CMake. Include helper files (chromium-gn.inc and
gn-utils.inc) from meta-browser. QtWebEngine build no longer requires
additional support in the host system, instead the build time tools
are run using QEMU.

WebEngine requires python2, available from meta-python2 layer, and
at least CMake 3.19. Only oe-core/hardknott provides recent enough CMake.
CI builds of webengine are limited to hardknott for this reason.

To use system ICU, QtWebEngine requires ICU 68 or up. This is also
available starting from oe-core/hardnott.

spellchecker feature doesn't work properly, since it requires
a native util to be built.

Task-number: QTBUG-93825
Change-Id: Id150275f5adfedd8f1acdc5f92c46a437da84f2e
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
(cherry picked from commit 403ab76764)
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2021-09-30 13:23:25 +03:00
Pasi Petäjäjärvi
ce7a39b78b QtIF: Use qface from 3rd party repo
With newer yocto old qface recipe using our internal repo
suddenly preferred pypi own repository for qface. So
use external version of qface instead and try to get that
added to meta-python also.

Fixes: QTBUG-96727
Change-Id: Ia6fae613f6d8ced531dad2bda4f1abc18cbf7eba
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
2021-09-24 07:46:29 +00:00
Samuli Piippo
170ca88bcd Coin: increase CPU count for CI builds
For Coin builds, ask for 16 core build machine, but limit the maximum
number of bitbake tasks to 8. Try to speed up the builds, but to avoid
OOM which can occur when several Qt modules start to build in parallel
after dependency to qtdeclarative is satisfied.

Pick-to: 6.2
Change-Id: I3a0d646f4204fb0269bba2356543589a5620ed3e
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2021-09-16 15:08:07 +03:00
Samuli Piippo
bc1d2a0fff Coin: give CI build more time to complete
Raise max build to 12 hours, but lower time without output to 2 hours.

Pick-to: 6.2
Change-Id: I866bf07324793fce4ce88189053216abd8b4302f
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2021-09-09 22:11:07 +03:00
Samuli Piippo
6886bebec1 Coin: allow yocto version specific configurations
Add easy way to have different configuration for the CI builds
based on the current Yocto version.

Change-Id: Idfda5d2e9079864e210382fa0e928b969fae311d
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
(cherry picked from commit 70dff380b2)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2021-09-05 19:43:49 +00:00
Samuli Piippo
a7720008b6 Coin: use toolchain for the CI test
Build the toolchain recipe for CI test, which allows us the limit
what recipes are included.

Change-Id: I9c532dcc97979bf40a0ca094850d7a0602f2f9d0
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
(cherry picked from commit d4232d5a71)
2021-09-02 08:48:17 +03:00
Samuli Piippo
a77f474aba Coin: add required zstd
Bitbake now requires zstd, which is not yet available in the provisioning
of the CI machines.

Change-Id: I9f75219a686580ae228384c4fb4a6222a0e6fd09
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2021-08-24 14:37:36 +03:00
Samuli Piippo
d242882342 Coin: update CI build to use only master branches
Cannot test with older yocto releases anymore.

Task-number: QTBUG-95705¶
Change-Id: Ibc2d07c2a40461971085ff80ee3f946824f0c4f8
Reviewed-by: Pasi Petäjäjärvi <pasi.petajajarvi@qt.io>
2021-08-24 14:37:31 +03:00
Samuli Piippo
7e83f2fc76 Convert to new override syntax
This is the result of automated script (0.9.1) conversion:

oe-core/scripts/contrib/convert-overrides.py .

converting the metadata to use ":" as the override character instead of "_".

Task-number: QTBUG-95705
Change-Id: Ieb57084e2cea47eb3407960ebfce404cee1ddc36
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2021-08-24 14:37:21 +03:00
Samuli Piippo
c9da0eaec3 Update CI build
Hardknott Yocto version is now available, add it to the CI builds.
Only dev branch remains tested against Yocto master.

Change-Id: Iec1227d616ff95b8406217f4d18ebfba80a0300a
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2021-04-07 13:34:18 +02:00
Samuli Piippo
876480f7ce coin: use unique hostname in CI machines
NFS uses hostname as the client id and doesn't work properly
if more than one VM is using the same hostname. Change to unique
hostname before mounting the cache.

Pick-to: 6.0
Change-Id: I58791d8eecc22589dc39a9e21a3b3a40afdfd905
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2020-12-31 13:45:59 +02:00
Samuli Piippo
d48f680374 coin: update CI builds
Expand CI builds to multiple yocto versions. In addition to current
dunfell builds, test also against gatesgarth and master branches.

Use different sstate-cache than other yocto builds to make
cache cleanups simpler.

Task-number: QTBUG-88313
Change-Id: I75ff327850c65a75aeead41564aa516dabf05c8e
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2020-11-11 18:04:24 +02:00
Samuli Piippo
06be05c249 coin: add ci build for mingw
Also move to using HEAD of dunfell branch for all
upstream meta layers.

Task-number: QTBUG-86431
Change-Id: I62ba53237fb763ba2676f8c9d030ce5d6b157989
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
Reviewed-by: Toni Saario <toni.saario@qt.io>
2020-09-22 07:31:57 +03:00
Samuli Piippo
a43c7553b9 Coin: add CI build instructions
CI build has 4 targets:
 - qemuarm64 w/o x11
 - qemux86 w/o x11
 - qemuarm w/ x11
 - qemux86-64 w/ x11

and it builds all recipes found in the layer.

Change-Id: I1b4861cb776c67710b16fcb6cac150f092925440
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2020-09-04 08:38:58 +03:00