Comparing to the previous release, Ubuntu 18.04 includes dante-server
1.4.2 by default. Therefore, it doesn't rely on the Third-party PPA.
The SHA-1 of the provisioned images in docker cache:
qt-test-server-apache2_18.04:69478e75b362d57691a53700434a7034d471459e
qt-test-server-squid_18.04:cd5a5e2ff5d23c9a7adef1bd82847e027c090e5b
qt-test-server-vsftpd_18.04:a40425c0494f8f4e8ba27ac9fb5cc02aaedd62d8
qt-test-server-ftp-proxy_18.04:5f78e23a0579a579fcae7f3e5704bb5eec0e2f6d
qt-test-server-danted_18.04:d590b915cda9d524620d18a0398fdfa4d5876f97
Change-Id: Iffb4abe144a957465a2daab657c6259f0b75e800
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
After the system reboots, the docker machine is created, but in a
stopped state. To handle the case that a developer may rerun the
provisioning scripts for the missed docker images, make sure the
docker machine is both started and running with new TLS certificates.
Change-Id: Ibdb58152cac860132a77d6d094f9bca20a5e95e8
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Build and cache docker images to VirtualBox virtual machine.
1. Download and install the docker tool kits and Apple Bonjour
2. Deploy boot2docker image into VirtualBox via docker-machine commands
3. Use Git Bash to run the shared provisioning scripts
4. Print CPU features to verify that CI has enabled VT-X/AMD-v support
5. Disable Hyper-V from Windows 10 Pro/Enterprise editions
Change-Id: I5520e4a28376aba14f880c077bd7b083be971f0a
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
For debug purpose, print the installed version of docker,
docker-compose, and docker-engine. Because 'docker info' is related to
the docker-engine, postpone calling the command until docker virtual
machine has been created.
Change-Id: I4c869b7122b831b7f22c9c3846ac9cbe47c3b355
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
To reuse the provisioning scripts for all platforms, they are moved to a
shared folder (coin/common/shared/testserver). The scripts of macOS and
linux are combined and controlled by an input parameter (macos/linux).
Change-Id: Ibf9a438d1825d01d707c2fc8fbcf2bc70a8b4902
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
Disables windows update and defender now earlier in provisioning.
Task-number: QTQAINFRA-2592
Change-Id: I4cc380830695a97f02b54ab904e2f6192fc36d44
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
When unset-proxy.ps1 script is run when there is no proxy set
unset script fails leading provisioning to fail. Now will check
if proxy is set before removing registery keys for it.
Task-number: QTQAINFRA-2311
Change-Id: Ic50bcebc634bb90385ca817dac9bed24e9e897ec
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
A change in Android SDK prompts us now for
accepting license.
Task-number: QTQAINFRA-2591
Change-Id: I1ff05d84ccda743649c6d38784c6170e08f50eb1
Reviewed-by: Liang Qi <liang.qi@qt.io>
Installing Android toolchains and ssl headers to win10 template
and moving Android windows platform configs to win10 from win7.
Task-number: QTQAINFRA-1266
Change-Id: I9b3e3a378451e0bdfc7dc5c7b75ee035faf8994c
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
(cherry picked from commit 5a040ca46a)
Update notifier is showing when vm is running.
It can affect to test results and that's why it need to be removed
Task-number: QTQAINFRA-2453
Change-Id: Icb27ba998ef9a51aaf8f40274c182b0c3dcd496a
Reviewed-by: Sami Nurmenniemi <sami.nurmenniemi@qt.io>
Reviewed-by: Juha Karjalainen <juha.karjalainen@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
Adding in the x64 bit installers to deployment. Furthermore, we can use
the msvc2015 installer to create msvc2017 binaries with Qt.
After the licensing change, we will be able to generate packages for all
msvc based installers.
Change-Id: I96db345b535a2518c758175137c808b15130ff41
Reviewed-by: Rainer Keller <Rainer.Keller@qt.io>
QtDesignStudio requires signtools for Windows x86
Task-number: QTBUG-72907
Change-Id: I7fb15cb07511cb89d3be00e1fe65247ecc21bcfe
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
The cross-compile targets that qtsaferenderer needs do not exist in qt5
therefore we add those extra targets for CI.
Task-number: QSR-378
Change-Id: Ia07074392b09af8d111a957027407f85518e5d85
Reviewed-by: Aapo Keskimolo <aapo.keskimolo@qt.io>
(cherry picked from commit f7b6a4c276)
Reviewed-by: Kari Oikarinen <kari.oikarinen@qt.io>
CPLUS_INCLUDE_PATH and LIBRARY_PATH environmental variables had
--> : <-- at end of variable. As this adds current dir to search
path this is undesirable and causes bugs.
Change-Id: Ia36c3f3f791f5d506eea15aba6be6d665049a922
Reviewed-by: Juha Karjalainen <juha.karjalainen@qt.io>
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
- Unified Automation SDK needs to be updated to 1.6x to reflect latest
API changes
- Open62541 is now inside 3rdparty of the Qt OpcUA module. Hence, no
need to provision it.
Change-Id: I96a3764053ca684fa71f9d49e998ebe0ce45a6ae
Reviewed-by: Jannis Völker <jannis.voelker@basyskom.com>
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
Reviewed-by: Rainer Keller <Rainer.Keller@qt.io>
Keys used to sign package repositories tend to have expiry dates and
therefore need to be changed from time to time. Therefore hardcoding
the key we expect here will break (as it does right now) and it's better
to retrieve the expected key via a secure transport.
The old key - per
http://keyserver.ubuntu.com/pks/lookup?search=0xC2E73424D59097AB&op=vindex
- will expire on the 12 of January. That's probably why they changed the
key used to sign the repo before the expiry.
Change-Id: I39d082a6e12731b7eb0a8214a500101ca24f8af4
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
DownloadURL returns 0 even when alt download fails.
Task-number: QTQAINFRA-2501
Change-Id: Id2fb1e0b4ff12a48b6adb27291f55fc129296233
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Adds odbc support for rhel7.
Task-number: QTBUG-72444
Change-Id: I49b1e91d9f87bdf98601627538aaa65b78440451
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
The cross-compile targets that qtsaferenderer needs do not exist in qt5
therefore we add those extra targets for CI.
Task-number: QSR-378
Change-Id: Ia07074392b09af8d111a957027407f85518e5d85
Reviewed-by: Aapo Keskimolo <aapo.keskimolo@qt.io>
Also changes the resolution of the desktop to 1280x800x32,
timezone to GMT and upgrades Xcode.
Task-number: QTBUG-70180
Change-Id: I4620cbfa3033a100b0e325951a5a9ebcbfa92751
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Liang Qi <liang.qi@qt.io>
MacOS(10.12 and 10.13) had two identical provisioning scripts for
openssl. Now unified under common.
Change-Id: If469a56d431e72b291a810fa9c1b701873fe382d
Reviewed-by: Aapo Keskimolo <aapo.keskimolo@qt.io>
Automatic disk defragmentation is enabled by default on Windows
machines. It should be disabled to save some time.
Task-number: QTQAINFRA-2217
Change-Id: I3f024208bd35c9e305569e6b2b562f5a8b16f6f1
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
This script installs libiodbc from brew and adds it to
CPLUS_INCLUDE_PATH and LIBRARY_PATH thus enabling configure to
find it and thus enabling odbc support for qt build on macOS.
Task-number: QTBUG-58956
Change-Id: I7f865800b580a87afcc480534da57ee546c74406
Reviewed-by: Antti Kokko <antti.kokko@qt.io>
This patch only affects Windows.
Python3 provisioning took over 30-35 minutes. As both
32 and 64 bit versions are provisioned it took over 1h
this change lowers time taken to 5 minutes.
start-process with -wait flag waits for given process and its
sub-processes to exit. Wait-process insteads just waits for
process to exit.
Change-Id: Ib9a323dcf9e2d07318a0d259a72ca4c4d0a4ed80
Reviewed-by: Simo Fält <simo.falt@qt.io>
Avahi is a free Zeroconf implementation and provides mDNS service
discovery. It enables Docker containers to publish their services on a
local network. For the host systems supporting mDNS technology, they
will automatically discover the services when running network tests.
However, some of the Linux distributions don't have avahi-daemon
installation by default (e.g. Ubuntu Server 18.04). To not surprise the
user, the provisioning script will help to install avahi-daemon package.
Change-Id: Ibb4c278c552c149b15da8cf7918f7f71ffa3ebec
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
The Docker-machine requires VT-x/AMD-v to build up boot2docker virtual
machine. The VMX flag should be enabled when deploying the VM into
Virtualbox. In the CI framework, it relies on Coin to expose the VMX
flag to the CPU feature. To well handle the case that the VMX could be
removed due to some CI updates, the provisioning script will assert the
process with the related debug message if VMX is not found.
Change-Id: I9f3f123d33629df1655a5b55d776d5361878d1f5
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
The SHA-1 tag of a server image is generated by the shared function
(sha1tree) in testserver_util.sh. The sha1tree function sorts the files
by the their SHA-1 and use the accumulated results as the TAG. So that,
we can assign the same SHA-1 value to a server on all the platforms.
Change-Id: If87ac72f7a9c5cdebef04977480d27b26a701b73
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
Free the dependencies of the specific Ubuntu packages. Ensure that test
server is using the latest version of the Ubuntu packages to test
network changes.
The SHA-1 of the provisioned images in docker cache:
qt-test-server-apache2:537fe302f61851d1663f41495230d8e3554a4a13
qt-test-server-squid:9c32f41b19aca3d778733c4d8fb0ecc5955e893c
qt-test-server-vsftpd:f3a9c8d793a77cc007c0e4e481bec01f9e3eeb7e
qt-test-server-ftp-proxy:d7de8b28392d173db512a558ccc84ead8bece2ae
qt-test-server-danted:35607f9b790524cf9690c7d12a9a401696b7b6b5
Change-Id: I4e6c8cb235f1f798274eb52858e06d8755ae626f
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
The subshell actually meant, that the http_proxy environment
variable was never seen outside that check. Thus proxy was never
used where this was checked.
Change-Id: I069f43f13dffca98d8b60a47c2e105209018c84d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
We do install them on Ubuntu and openSUSE. Eventually we want to stop
using bundled xcb libraries. Currently all builds of Qt on Linux use
-qt-xcb switch (see coin/src/targetenvironments.py::LinuxTargetEnvironment),
which is the reason why things build fine, even when packages are not
present on the system.
Change-Id: I856ddb5a17768b347aec3e593d6b969109a5c3a3
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
Ubuntu was the only distro that installed both of the required packages:
installPackages+=(libxkbcommon-dev)
installPackages+=(libxkbcommon-x11-dev)
RHEL 7.4 did not explicitly install any, but got libxkbcommon-dev
pulled in as gtk3 dependency. Extract from provisioning log:
--> Processing Dependency: pkgconfig(xkbcommon) >= 0.2.0 for package: gtk3-devel-3.22.30-3.el7.x86_64
---> Package libxkbcommon-devel.x86_64 0:0.7.1-1.el7 will be installed
openSUSE explicitly installed libxkbcommon-devel, but not libxkbcommon-x11-devel.
Qt official binaries are built on RHEL, where we do not have
libxkbcommon-x11-dev installed. This means that XCB plugin and
Compose input plugin would fallback to using bundled sources.
It was actually desired until now that XCB/Compose use the
bundled sources instead of linking with the library from the
system, but this was only a lucky side effect. If we had installed
libxkbcommon-x11-dev on RHEL, then Qt binaries would end up
linking with the libxkbcommon from the system, because of the
missing "-qt-xkbcommon" configre switch for release builds.
We won't bundle libxkbcommon anymore, hence we need to install
the missing dependencies, as done by this patch.
Change-Id: I5c7b8ac38c266ce81cb5a3189a9082bfd581ee31
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>