macos-26-arm64-developer-build-tests was made significant, but
macos-26-arm64-developer-build remained insignificant. This lead to
situation that the macos-26-arm64-developer-build-tests job failed with
an obscure error "Error occurred while reading log: File not found"
Amends 7c434c9885
Change-Id: Idf15cd6aac4e2791776268a52cdd0eeb67cc5434
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Updates bootstrap to set MTU to 1496 at boot. This will enable use of
all macOS hosts.
Change-Id: I47fda29f44ba7522b914d24b341239f81a1db776
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
This test will check that release packages are from current release
version i.e. RHEL 10.0 "el10_0" and not from 10.1 "el10_1" or newer.
If newer release packages are found, script will output those packages
and exit with exit code 1 to ensure that release version stays locked.
Pick-to: 6.11
Task-number: QTQAINFRA-7817
Task-number: QTQAINFRA-7614
Change-Id: I905dd2e72bf5dadc6f3f4b21aa7c09f06204d297
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
There have been times where we have updated the list of packages to
install, but prebuilt binaries have missed them. This change adds a
check to confirm that the expected packages are installed.
Pick-to: 6.11
Change-Id: I5f6e2b7917c45f7a220d41946e5e4030f63ca21d
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Add an :app and :lib modules so both com.android.application
and com.android.library paths are exercised, and add a Kotlin
source + JUnit test in each module. This makes gradlew build
pull the kotlin toolchain jars (compiler-embeddable, reflect,
coroutines) that Qt Android JAR and app builds could need
later. This way we ensure all possible artifacts are made
available in the cache during provisioning and avoid or at
least reduce the chances or later downloads.
Task-number: QTBUG-132915
Change-Id: Ic518f96370ffc40f921bcb3063257f8663e41615
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This feature enables us to build protobuf with different host/target
triplets to lipo the result.
Fixes: QTBUG-145933
Change-Id: I1456c148686c27cecc6f1f2f5decdeb6f0a2304d
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Used by Qt Creator for cross-platform development (gocmdbridge)
Pick-to: 6.11
Change-Id: Icac0c298169f269c006d92843243e2bed25439bc
Reviewed-by: Akseli Salovaara <akseli.salovaara@qt.io>
The 20260410 SDP patchset ships new majors for freetype and
fontconfig: libfreetype.so.26 (was .so.24) and libfontconfig.so.17
(was .so.1). The old sonames remain only as compatibility stubs
(libfontconfig.so.1 shrinks to a 320 KB shim vs 1.65 MB for .so.17).
Pick up the current libraries in the QEMU system image so Qt runs
against the SDP's real fontconfig/freetype, not the stubs.
Pick-to: 6.8 6.11
Change-Id: I29ceae73d861d1a398f3efd2f4b2eaab3600fc24
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
The 2026-04-10 patchset refreshes binaries and bakes in tzdata 2026a
in the SDP tree. Added the missing targetFile= line.
Also pull the tzdata as a separately-downloadable overlay, so it can
be bumped without rebuilding the full SDP tarball. Archive root is
qnx800/target/qnx/... so it extracts onto /opt/ directly on top of
the already-extracted SDP.
Pick-to: 6.8 6.11
Change-Id: I29f675429937346825e4a0b6cfac07ce8dc391a6
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
On Ubuntu hosts we are installing patchelf from apt, which delivers
the newest version. As of writing that version is v0.18.0. This version
specifically has issues with patching Android ARM binaries, which we do
during FFmpeg provisioning. Using this version of patchelf blocks the
option of using Ubuntu hosts for Android ARM builds.
This patch makes us build v0.17.2 from source, which is what we do on
other UNIX hosts.
Pick-to: 6.11
Change-Id: I23d2114d2a7757ab0ce50cba7d207bc7813d64fb
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Current MSYS does not have a prebuild in ci-files01 cache, which makes
the msys2 install script to use pacman to externally download, which can
cause flakiness.
The prebuilt was fetched from a parked Windows 11 24h2 x64 VM, by
compressing: "C:\Utils\msys64" to .7z
Pick-to: 6.11 6.8
Task-number: QTQAINFRA-7387
Change-Id: I4bd037a6d985fc1c007ba65d8f54a73d4183cb10
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
It's a new fork under a qtbuildsystem group, but with the contents of
the aledelev fork.
The older mrmsdbdl fork is not used anymore, so it's removed.
Pick-to: 6.8 6.11
Change-Id: I641cf8b86e3809f399cfddbe6c5d71ee6174917c
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
To fix
- Release lock --set=10.0 doesn't work with internal repo
- Also locks epel repo to same release version 10.0
Other notes:
7zip is downgraded from 25.01-1.el10_1 to 24.09-4.el10_0. As a result,
the snld switch (introduced in 7zip 25.01) is no longer required.
Pick-to: 6.11
Task-number: QTQAINFRA-7817
Task-number: QTQAINFRA-7614
Change-Id: Ib2daed8cbb6d53e593cb0c835b0cbc4b40fa5f9d
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
Add scripts to download and cache Gradle distribution
and its dependencies during provisioning for all hosts
so that Qt builds don't have to fetch them on every Qt
module and test build.
Add those scripts to various RHEL, Ubuntu, macos and
windows configurations after Android has been run
since the Gradle build for Android requires Android
SDK.
Prior to this, to avoid having a full Gradle project added
to the coin tree, some Gradle files were being fetched from
qtbase using a commit sha, that was aiming to reduce the
amount of changes each time, but that's a bit awkward since
the files here and this commit sha needs to be updated
anyways. So just have a full Gradle project here and update
its values whenever we bump Gradle or Android supported
versions.
Task-number: QTBUG-132915
Change-Id: Id4876ad90a09cdaada5b96c457820c691e2be426
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
This mainly moves scattered similar code that was already
sourcing profile files to own script, so it can be re-used
elsewhere.
Change-Id: I11677226370fc52f50292d70c62cae5bd7c58d19
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
With a Gradle-enabled Qt build, it's easy now to manage all
Qt modules' JAR builds in one place from an IDE, and that's
what's being done here with Gradle composite builds. This
adds each module's JAR in the qt super repo and each module
also defines its potential dependencies (e.g. Qt6Android.jar).
This also update .gitignore with Gradle, JDTLS and IntelliJ
ignores, and moves the existing .gitignore from the provision
android_gradle project to the root.
Task-number: QTBUG-132915
Change-Id: I4573768c394a4c25347eeb8ce6e2ddf7e57796ef
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
/tmp on the QNX QEMU image is a procmgr_symlink to
/data/var/tmp, and procmgr does not implement symlink()
through that redirect — calls with an absolute link path
under /tmp fail with ENOSYS.
Point TMPDIR at the real path so QTemporaryDir, and any
QFile::link() built on it, stop hitting the redirect.
Fixes tst_QFileInfo::isOther on QNX.
Change-Id: I5ac9040134a9cfedb4c7e5e71bc0b9a0f9d7b0b3
Reviewed-by: Marianne Yrjänä <marianne.yrjana@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
These flags are already provided by the function
'get_ffmpeg_config_options'. In the current we pass them again
explicitly during FFmpeg configuration.
This patch makes us rely on the function's return value.
Pick-to: 6.11 6.8
Change-Id: I4b257331cedafd7241df4360694e4ad1637267fe
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Added correct format for author to enable email notifications.
Removed unnecessary dns query which does not work.
Pict-to: 6.11 6.8
Change-Id: I0513e80d07c42197570abbd3354b0be3b50db768
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
OS updated to 26.4.1.
MAC address hack in bootstrap changed to read the address
from the context instead of generating one.
Change-Id: Iafe738997d6c09ab09bb688a4a01750a293697f5
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
The script 'install-ffmpeg.ps1' contains logic for building all targets
even if some targets fail, and then report all results at the end. When
building Android specifically, we download patchelf sources from CI,
it's possible for it to throw an exception if CI-files is not
available. This breaks the logic and makes us terminate early.
This patch encloses the Invoke-WebRequest in a try-catch.
This also makes it easier to run this script locally.
Pick-to: 6.11 6.8
Change-Id: I93d4ec905c61dc7b44b87100353353f24c27d276
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
We don't really need to run headersclean when validating unity builds.
Removing them to save a few CPU cycles
Change-Id: I8ace921e17f887bd076bb5c9d62a69a3ee8e0d7d
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
We cannot build debug builds as the llvm binaries are release-only
(causing _ITERATOR_DEBUG_LEVEL mismatches)
Change-Id: Ia928ed4b7f3330ce6d4fcdf0da4c369b8f2e0e78
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
CI configs for new Qt on board repo.
Task-number: QTBUG-145260
Change-Id: I952d6a9d961bb03828c72bf692dde64dd99d361a
Reviewed-by: Toni Saario <toni.saario@qt.io>
This patch adds Android 17 16KB Beta3 as insignificant platform
to CI which will not abort on first test failure. At the moment
there is only 16KB compliant system image available.
Before the platform can become significant we need to wait
first released version of Android 17. When the first released
version will be added remove the Hack to alter source.properties
mentioned in this patch.
Task-number: QTBUG-143600
Pick-to: 6.11 6.8
Change-Id: Iaf2f122e6b56e496ddb8549f281cca6acd3970ac
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
In the current Android FFmpeg provisioning, we rely on the tool
'readelf' to be installed on the host. On macOS we currently pull this
tool through the Homebrew 'binutils' package. This has proven
unreliable on older macOS hosts.
The Android NDK provides the same tool under the name 'llvm-readelf'.
This patch makes us rely on this tool during provisioning, which is
guaranteed to be provided.
Pick-to: 6.11
Change-Id: I47a186d2dd4b442929b82f35b4d257d011cb9d10
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
OpenSSL for Windows is now prebuilt. Instructions to build OpenSSL for
Android are also changed.
Pick-to: 6.11
Task-number: QTQAINFRA-5540
Change-Id: I40fb6964b5887c4bfee008997057a75cc70ac037
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
This patch allows us to automatically grab the FFmpeg version string
from the source code directly, rather than having to explicitly specify
a version string inside ffmpeg-installation-utils.
Pick-to: 6.11
Change-Id: I657302ab8566592390a51c6f5c3ee989d66efaaa
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Build configs are not using correct version from the /opt/icu.
Pick-to: 6.11
Task-number: QTBRIDGES-172
Change-Id: Ic90560036067de1e9d324adfb0c0e765fc521a90
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
build-* was matching files like build-ohos-deps.sh. Add trailing slash
to both build and build-* so only directories are excluded.
Pick-to: 6.11
Change-Id: I8f5d8c3adcac4071320d70aed5112d037f7cc138
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
For some unknown reason the compilation has started using -std=gnu23,
which breaks the build.
Forcing "-std=gnu89" allows the build to succeed, so let's do that
as a workaround to unblock qt5, while we continue investigation why
this broke.
Task-number: QTQAINFRA-7775
Change-Id: I59a29ab9a20d5b2302d72b1e6fbbe52c7ecd277a
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
A developer build already exists for macOS 26 Intel, so the macOS 15
configuration is no longer needed. Removing it helps reduce CI load
and saves capacity.
Change-Id: I9000967ec8c0ac0e8fb8f033b5b5beb973429f22
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
This should be temporary fix until pinning or update works.
Without updates QtWebengine needs these libs to be installed directly
- libatomic
Pick-to: 6.11
Task-number: QTQAINFRA-7773
Change-Id: I55bb3cfe671f21986753048cea5f8cf64c25f112
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
This script currently downloads the .zip file from the web into a local
file with no file extension. This can cause issues for 7-zip when
unarchiving. This patch fixes this.
As a drive-by, we improve the names of some variables.
Pick-to: 6.11 6.8
Change-Id: Icb1b24646b54d75d825764d30a268fa6e55d0183
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Is needed by bindgen but not pulled in by dependencies.
Pick-to: 6.11
Change-Id: Ic3963e580f5d03a4c6de89afcac03639d4d3c27f
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
...based on the length of the given hash.
Additionally use -ine for string comparison, which explicitly does
case-insensitive comparison. That is what the function needs, previously
it was done implicitly by -ne.
And remove MD5, it's not used anywhere.
Pick-to: 6.11 6.10 6.8 6.5
Change-Id: Ib4303737e5e1d743dd0be1a8f829be9a0db2bc04
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
The version that comes with the distro is buggy, it returns success
instead of failure for the command:
curl --verbose --fail -L --retry 5 --retry-delay 5 -o filename \
http://url/that/returns/404
The upstream ticket is: https://github.com/curl/curl/issues/17554
Pick-to: 6.11
Change-Id: Ic763c10a308a24c921a8d2ae1f1c651e0cbac429
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>