We are experimenting with various ways of running and packaging the
bootstrap agent. To support this, let's add the required permissions
to both a standalone bootstrap-agent executable, as well as an app
bundled version of it, if found.
In addition, add the permissions to sshd-keygen-wrapper, which is
the responsible process for the SSH server, and any ssh login
sessions spawned by that. This serves two purposes. Firstly, this
matches the permissions between a coin run (by the bootstrap agent)
and what a developer will see when SSH'ing into the CI machine to
debug an issue. Secondly, we might use ssh as an entrypoint to
run the bootstrap-agent, in which case we need the permissions
on sshd-keygen-wrapper anyways, so that they are inherited by
the bootstrap-agent.
Pick-to: 6.8
Change-Id: I576349e93ca19d98384490c99102966e8ffe2833
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@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>
Set test running to happen on non-developer static target
for modules upstream of QtDeclarative. Qtdeclarative tests
do not build with static flag, due to this only up to this.
Update VSB and VIP.
Change-Id: If7e016f11b5d3908dff584fc05bcc8985d471a94
Reviewed-by: Simo Fält <simo.falt@qt.io>
Currently any configuration tagged with the 'LicenseCheck' feature
uses the qtqa/master tst_licenses.pl script for license checking. The
exact instructions that are run are hard-coded in the Coin repository.
This is inflexible, and also confusing because qtqa has a dev and a
master branch, and people forget to cherry-pick changes to the master
branch.
Furthermore always using the qtqa/master branch for all qt5.git
branches is limiting, because no instruction changes can be made to
a specific qt5.git branch.
Using the new instructions added in qtbase commit
2a0e89981a52633c497f62bad0c7d26c466493cb
we can now tag configurations with the 'LicenseCheckV2' feature.
Integrations will then use the instructions from the active qtbase
SHA1 to run the license check.
Currently the qtbase instructions will always use the qtqa/dev branch
for the license check, for both the dev and 6.8 branches, but in the
near future we will likely want to create versioned branches for
the qtqa repo, just like the rest of our repositories, so that we
can have specific license check instructions for specific branches.
Pick-to: 6.8
Task-number: QTBUG-124453
Task-number: QTBUG-125211
Task-number: QTBUG-125569
Task-number: QTQAINFRA-3935
Change-Id: Ica024dec44a9581c49cdfb555ba93667f7b34780
Reviewed-by: Toni Saario <toni.saario@qt.io>
Reviewed-by: Lucie Gerard <lucie.gerard@qt.io>
We have two builds we need to cover:
1. Documentation testing, aka 'DocTests' feature
This feature builds docs for every submodule during module
integration, using externally provisioned doc tools.
2. Offline documentation building, aka 'Documentation' feature
This feature builds documentation for use in e.g. Qt Creator
For both these builds we only need a single config to handle them.
The initial configs were based on Ubuntu 22.04, but with the addition
of Ubuntu 24.04, and splitting up X11 and Wayland testing, these configs
multiplied, which is not needed. The inclusion of 'documentation' in
the various test configs was also needlessly confusing when e.g.
looking at test failure results in Grafana.
The previously named 'documentation' configs for Ubuntu have been
renamed to 'developer-build', as this is the significant difference
to the non-developer-build config.
There's still two issues with these configuration:
1. The DocTests configuration also runs the Qt auto tests.
The DoNotRunTests and DisableTests feature flags would
seem to be relevant for skipping the auto-test step in
the coin test instructions, but these are hard coded in
coin to skip the entire test workitem.
2. The offline doc builder builds Qt and tools from scratch
A better approach would be to depend on another build
and just configure and build docs, but doing so requires
more investigation.
Change-Id: I5a041dec697424b85d3b1588cd6e77a80551d2eb
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
qtci-windows-10_22H2-x86_64-51 was copied as -52
In this new tier-1 image, the following services were disabled:
- backgroundDownload.exe (part of MSVC)
- Microsoft Edge update/installer and Onedrive
Also missing certification GlobalSign Root CA - R3 was added.
Pick-to: 6.8 6.7 6.5 6.2
Task-number: QTQAINFRA-6207
Task-number: QTQAINFRA-6490
Task-number: QTQAINFRA-6473
Change-Id: Ifd51d25a6c8d43b008ca65af22ebbd592cf57b85
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@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>
both x64 and arm64.
Don't have enough resource to make sure docker setup works fine
for new platform now.
Task-number: QTBUG-126410
Pick-to: 6.8
Change-Id: I58de4836af9d7589c1a1db5371c410099e671793
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
Those will be provided by Coin.
Follow-up to 4e09a6db79 for macOS ARM.
Pick-to: 6.8 6.5 6.2
Change-Id: Iffe433b606e6fb28580b8d2a265ee82f4bda7eb8
Reviewed-by: Toni Saario <toni.saario@qt.io>
Update QDoc and qtattributionsscanner to the latest versions from
qttools/dev.
The QDoc binary is built against libClang v18.1.7. It supports new
commands introduced in Qt 6.7 and 6.8. It also ignores duplicate
warnings that QDoc issues for certain attribution files in CI only,
which have been known to block qt5.git integrations previously.
Fixes: QTBUG-126407
Pick-to: 6.8
Change-Id: I69aad04bbe73e1fdf1d6cb4ff797616a23abcdaf
Reviewed-by: Topi Reiniö <topi.reinio@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>
Previously configurations with -make examples in their configure args
were building examples as part of the Qt library build. This has some
downsides:
- we don't build examples as a separate project, thus not ensuring
that we build examples as our users would
- qt cmake deployment api can't be used due to various limitations in
our tooling
Use the new qtbase instructions to instead build examples as a
separate project in a separate build directory, after Qt is built and
installed. This is similar to how we build standalone tests.
The new instructions are activated by the StandaloneExamples features.
It is opt-in as opposed to standalone tests, so we can disable the
feature in case any regressions happen.
Task-number: QTBUG-90820
Task-number: QTBUG-96232
Change-Id: I71b37b91ed09bcc0797841adf0df84cc0b111fd7
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
It used to be installed as a dependency of some other package, but
stopped doing lately, which causes qtbase to build without zstd
support.
This change explicitly installs the libzstd-dev package to prevent
this from happening again.
Pick-to: 6.7 6.8
Fixes: QTBUG-124787
Fixes: QTBUG-127644
Change-Id: I72793ed96ef39ec07244079c51efe17ae1f9af66
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
RHEL-8.8 targets are replaced by RHEL-8.10 targets in platform
configurations. [CI Platforms]
Task-number: QTQAINFRA-6366
Change-Id: I2dcf70b030d72261ec7bd130058a6062644813d6
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
'InsignificantTests' is removed from all RHEL-8.10 targets and
'Packaging' feature is added to packaging RHEL-8.10 targets. [CI
Platforms]
Task-number: QTQAINFRA-6366
Change-Id: I0a83ccf5b75c7f2c7c8de871c267d286cf3a9296
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
We still have one offscreen build(non-dev).
Pick-to: 6.8
Change-Id: Ib0a4314387bc4388e75cb6dc65c220e167980805
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
It's broken in the VMs in our CI.
This follows 94a4f06fb88ec6c7fa5e31dfd28af4e9b3cdbdd8 in qtbase.
Fixes: QTBUG-126250
Task-number: QTBUG-125446
Pick-to: 6.8
Change-Id: Id61f3d51cea33a8648aa99941c0dc77b9da5c498
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Simo Fält <simo.falt@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>
This patch prepare install-patchelf.sh script for use on MacOs
Pick-to: 6.8
Task-number: QTBUG-126861
Change-Id: Id16462a2819da748ecd0b04f1df57968e9d90c37
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Fixes CVE-2023-34095. Also includes minor API changes, and few feature
updates.
Change-Id: I700ba8c60929f5ad797fc7f031b74ca1fd33efea
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
RHEL-8.10 will be run in parallel with RHEL-8.8 in CI as non-blocking
until RHEL-8.10 is confirmed stable, then it will replace RHEL-8.8. [CI Platforms]
Task-number: QTQAINFRA-6366
Change-Id: I4b470754895a72be026e869eb4e4d273eb3801b4
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Simo Fält <simo.falt@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>
The flag was removed from qtgrpc repo and has no effect now. Clean it
up from all platform configs.
Pick-to: 6.8
Change-Id: I59e200c6bcd63e03cc7c7477d502e456af8c9b01
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Add the missing QT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR for qnx and
Android 14 platforms.
Pick-to: 6.8
Fixes: QTBUG-127272
Change-Id: I60caa0141aa2d8566311d30677891201b12c4ed6
Reviewed-by: Dennis Oberst <dennis.oberst@qt.io>
The pip3 install calls contained the word 'install' twice.
Starting with newer pip versions, this seems to fail with:
/Users/qt/.pyenv/versions/3.9.7/bin/pip3 install --user install
virtualenv wheel html5lib
ERROR: Could not find a version that satisfies the requirement
install (from versions: none)
ERROR: No matching distribution found for install
Make sure install only appears once.
Pick-to: 6.8
Change-Id: I1bfc784d4e3d6a1c34d112e72e2739678d2f07ae
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>