This change makes provisioning also install older NDKs for Android,
which will be used in nightly targets.
Task-number: QTQAINFRA-7069
Change-Id: Ia8695383e94df282822da9019c33f1004a879bf6
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit 687b73cde0)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
When you use the helper to set an envvar in provisioning, you can not
reference the machine scoped variable in a later .ps1 script in the same
provisoning run using the direct/static reference '$env:NAME', instead
you have to use a more verbose method with e.g. 'Get-Item' cmdlet and/or
set the envvar additionally to the process scope yourself.
This change makes the helper also add process scope to the envvars, this
way envvars set in provisioning can be simply referenced with
'$env:NAME' in later provisioning scripts, which is consistent with the
way you can use SetEnvVar helper in Unix and directly reference the
envvar with just its variable name in later .sh scripts.
This change also removes duplicate local scope envvar definitions now
that Set-EnvironmentVariable helper does it.
Change-Id: I804fa8f8dfce742a84e8b4bc077f466820589f7e
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 33ff9ebc9e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
We don't want Windows VMs to spam mDNS messages about optimizing
Windows updates, when the updates themselves are disabled.
Pick-to: 6.9 6.8
Task-number: QTQAINFRA-6761
Change-Id: I1452ebbb612f784c96f07de0a29cb2cfb54f1e75
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
We may read the installed package information from the 'vcpkg list'
command instead of parsing the vcpkg.json. Also instead of using
the jq as a parser, use the cmake script. This allows skipping the
jq installation.
Change-Id: Id3ace62f8f40ff1bd059878da3fd13e466861830
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Provision and run the test script on Windows in warn-only mode.
Task-number: QTQAINFRA-6796
Change-Id: I06fdfc44109017deb5eaacd3811930b98f1a10f7
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
There are two image templates right away: -70 is Windows 11 with no
Visual Studio or Windows SDK ever installed. -71 includes VS2022 17.9.1
(MSVC 14.39.33519) and Windows SDK 10.0.26100.1742
Image changes compared to 23h2:
- VS2019 is left out as it's no longer used in provisioning scripts.
- Old DirectX installation (10-dxsdk.ps1) is left out. It's legacy,
originally used for Windows 7, and newer libraries should be found
from Windows SDK.
- 08-libclang-v100-dyn.ps1 is removed as it's no longer used. It had
dependency to VS2019.
- These images use UEFI instead of BIOS.
[CI Platforms]
Task-number: QTQAINFRA-6734
Task-number: QTQAINFRA-6823
Change-Id: I53a62c74b07d7fbfc9b1afbe44444272ae7c51e7
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
* Update the version variable used to identify the correct package for
download and cache sites.
* Update SHA1 for provisioning packages on all platforms.
Fixes: QTBUG-134304
Pick-to: 6.9 6.8
Change-Id: I2577600296e75080d503dc1a537ddbc00d0f207f
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
Windows usually updates certificates once a week, but due
to disabling Windows background updates there is need to
install and update certificates manually.
Updating certificates during provisioning is selected method
as it's aligned with the same procedure how linux machines have
handled the same.
Task-number: QTQAINFRA-7001
Pick-to: 6.9 6.8 5.15
Change-Id: I7c077b5e08328b12c481a3501736f06baf85e71e
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
* Update the version variable used to identify the correct package for
download and cache sites.
* Update the file names for all platforms, as these libraries are built
directly from upstream without other patches applied on top.
* Add provisioning package locations for Windows VS2022 x64.
* Set 'vs2022' as default toolchain on Windows.
* Update call sites for `libclang.ps1` to pass `vs2022` as argument to
the script.
* Drop Windows configurations with VS2019.
* Update cached and official URLs with the major version for Windows
platforms.
* Update SHA1 for provisioning packages on all platforms.
* Move from RHEL 8.8 to 8.10.
* Move from RHEL 9.2 to 9.4.
Fixes: QTBUG-129506
Fixes: QTQAINFRA-6605
Task-number: QTBUG-129373
Pick-to: 6.8 6.9
Change-Id: I5146e6551a1b3c83133803f61ca6f8428cb6a14f
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
This patch bumps the sdkBuildToolsVersion used in Coin to 35.
Task-number: QTBUG-129461
Task-number: QTBUG-130283
Pick-to: 6.9 6.8 6.5
Change-Id: I2e1fbdfd23cb854ec50625ff29331adc61abc32c
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
This patch bumps the sdkApiLevel used in Coin to 35.
Task-number: QTBUG-129461
Task-number: QTBUG-130283
Pick-to: 6.9 6.8 6.5
Change-Id: Ia26248982a2807b2d3554d1a7a7394efcf13f834
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
The test broker will later be used by the mqtt tests
There are 4 variants using two ports each
2883, 3883 -> Tcp
9883, 10883 -> Ssl
9080, 10080 -> WebSocket
9081, 10081 -> WebSocketSecure
For each of the 4 variants we test 3 protocols:
3.1, 3.1.1, 5.0
Task-number: QTBUG-129171
Change-Id: If000dd333221e7296499fc756ef97a074cf97273
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
There's possibility that some installations might add more into
Path that doesn't get visible during the installation process.
Change makes it easier to detect if there's i.e. JRE installed during
Mimer, which caused Java SE update to 17 fail in qtbase build for
Android, because JRE was the first Java found from Path and it
wasn't the required new JDK 17 version.
This can lead even to test with incorrect version of Java, which can
happen with any other different version installations as well.
Task-number: QTQAINFRA-6392
Task-number: QTQAINFRA-6385
Pick-to: 6.8
Change-Id: Idce79eb06d73894ae648e0be53ff1f07bb21392d
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
If there is an error in emsdk scripts when running ".\emsdk install",
the provisioning would still continue. This change will make the script
exit and stop provisioning when the install command fails.
Also remove the attempt to use Python 2 and make sure the installation
finds Python 3 instead.
Pick-to: 6.8 6.5
Task-number: QTQAINFRA-5453
Change-Id: If052adcd446537b0eeb6261e4a297e9aeb292c6e
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
While on windows the instantclient sdk also provides the relevant
(import) libs, on linux those libraries are only provided by
instantclient-basiclite package. Therfore setting the Oracle_ROOT env
var to the sdk dir will prevent the libraries to be found on linux.
The FindOracle.cmake module is already adjusted to look for the
libraries in ${Oracle_ROOT}, ${Oracle_ROOT}/lib and
${Oracle_ROOT}/sdk/lib so they should be found correctly even we don't
append 'sdk' for Oracle_ROOT on windows for consistency.
Task-number: QTBUG-128873
Change-Id: Icd211d5b503234de529c339581a4f42f0b5fc726
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
It's easier to manage the vcpkg tool versions using this file,
but not editing script each time.
Change-Id: If6d04a8ac07731ec1fab46b1f663b86bbe640631
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
The old version doesn't support MSVC 17.10 toolchain, so we cannot
build for arm64.
Change-Id: I63df5b61d6d7e06ee49f46f77528021f3ce5be47
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
The triplet it not used on every x86_64 windows VM. Build it only
on windows 11_23_H2-x86_64 where we crosscompile Qt.
Change-Id: I5bfd852ac0cdde8d8f1f7b4b46d208f6dc221162
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Make the Windows vcpkg provisioning script configurable, so scripts
that use it may select the architecture using the 'arch' argument.
Change-Id: Id6180866ed03a9a15ec9b907c9be5545a04ea879
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
The download helper for .ps1 scripts takes in parameters in order:
1. The external URL (this is 2nd priority DL source)
2. The internal / cache URL (this is 1st priority source)
3. Download location
The URL variables were inputted to the function in wrong order. And URL
variables for x64 were named incorrectly. This change fixes that.
Pick-to: 6.8
Task-number: QTQAINFRA-6296
Change-Id: Ic4f939448a4ac39e4fd7d52e5b80132b02c38dc2
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
The 'reuse' tool installed into the Python 3.8 environment on Windows
has a broken 'jinja2' package, due to conan being installed
after the sbom tool, which replaces the jinja package. pip reports the
issue but does not actually exit with a non-zero status for some
reason, thus not blocking the initial provisioning.
The jinja2 version installed in the Python 3.10 environment on Windows
is compatible with both conan and reuse.
To work around the issue, explicitly install the sbom tools only for
Python 3.10 on Windows platforms, and specify the path to the Python
interpreter in an environment variable for the build system to use.
Amends 1f2fb6312c
Pick-to: 6.8
Task-number: QTBUG-122899
Task-number: QTBUG-124453
Task-number: QTBUG-125211
Change-Id: I386da17a1902dd26af332cef3482dbcb2221a1b3
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
Libclang is needed for QDoc.
Adding support for WoA (arch=arm64) also introduced a need
to change archVer parameter from Integer to a string.
Task-number: QTBUG-129256
Pick-to: 6.8
Change-Id: I13f15925a7639c6f926c564146fbbc88f73fff8f
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Adjust the local repo paths for firebird libraries.
Change-Id: Ifb10ab8f4606eefd53f4cd63cf08264d82922cba
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
Windows script to install golang tries to download a .exe file from
cache while the install file is really a .msi file.
Golang and upx are new packages to ci-files so let's define their
directory paths as neatly as possible to prevent more clutter to
ci-files.
This amends: 337206334e
Pick-to: 6.8 6.7
Change-Id: If6cfa38304bfec207500fcd7a67e3acba994eb9f
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Qt Creator will soon start to rely on go for tools and upx for binary compression.
Right now we can't install upx on macOS which we can live with.
Leaving the script in for later re-enabling once brew has been fixed.
Pick-to: 6.7 6.8
Change-Id: I4fdc67e469153e8a0530efd58ff251629dcabdfa
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Add Squish provisioning to linux on arm and windows on arm machines
also.
Pick-to: 6.8 6.7
Change-Id: I52f0e8fc4931efd7c7fcf36c555cbae76e2f347b
Reviewed-by: Simo Fält <simo.falt@qt.io>
Packaging reported issue that python installation
without proxy didn't work - therefore enabling proxy
back was needed but with a fix to handle Py 3.10+ changes
Py 3.10+ pip 24.2 has moved to use system certifications
by default which caused issue when proxy is used
and if host didn't have one specific certification
GlobalSign Root CA - R3 for pypi.org.
Also noticed that sometimes Windows x64 images seemed to
have this missing certification, but after installing it
to Windows ARM (which was clearly missing it) - logs showed
they didn't have it - and direct check to both Win x64
Tier1 images showed that they didn't have that cert.
Not sure what steps in provisioning or proxy usage could have
affected to that, but missing certification is now added directly
to all of these new three Windows Tier 1 images:
- qtci-windows-10_22H2-x86_64-52 (via QTQAINFRA-6207)
- qtci-windows-11_23H2-x86_64-53
- qtci-windows-11_22H2-aarch64-53
Therefore --use-deprecated=legacy-certs flag is not needed
when system has correct certification available as Py 3.10+
has moved to use them by default.
Long-term improvements could still be added in future, in two ways:
1) Internal package cache (QTQAINFRA-6485 QTQAINFRA-5531), or
2) To update system certificates with Py 3.10+
But those will need more time to decide and implement.
Therefore this improved quick fix to get proxy back with Py 3.10+
was needed now and it removes previous quick fix to unset proxy.
Task-number: QTQAINFRA-6490
Task-number: QTQAINFRA-6473
Pick-to: 6.8 6.7 6.5 6.2
Change-Id: I0805a70cf1163012094505162d28640e9ea8e6bb
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
* Update the version variable used to identify the correct libclang
package for download and cache sites.
* Add provisioning package locations for Ubuntu 24.04 ARM64.
* Update SHA1 for provisioning packages on all platforms.
Fixes: QTBUG-126412
Task-number: QTQAINFRA-6112
Pick-to: 6.8
Change-Id: Id30841efb29d78c9d2d54ffa6af9993b12734c0b
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
Downgrade patchelf version from 0.18.0 to 0.17.2 on MacOs, Linux and
Windows.
It looks like there is a problem with 0.18.0 version, when modyfing the
Android libs. It causes an unresolved dependencies error when loading a
changed library.
Fixes: QTBUG-126861
Pick-to: 6.8
Change-Id: I5a95daae0a78aadede009535b2813483afcbc99d
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
There are no WoA versions of JDK builds available from Oracle but
Microsoft maintains a WoA compatible OpenJDK build.
This change also removes the registry edit to disable Java
auto-update as the auto-update function in Java no longer exists.
Task-number: QTQAINFRA-6109
Task-number: QTQAINFRA-6385
Pick-to: 6.8
Change-Id: I672ef4ac7cbca3d62ecd6a646fd769aff1cad4c5
Reviewed-by: Simo Fält <simo.falt@qt.io>
Add provisioning scripts for Firebird 5.0.0 to be able to compile the
QSql within the CI.
Fixes: QTQAINFRA-6303
Change-Id: I58bf45b0e291700eb1d58158b8cfd37e335d2195
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>