Commit Graph

38 Commits

Author SHA1 Message Date
Piotr Srebrny
51c663d171 Build static FFmpeg library on macOS
This patch modifies linux/ffmpeg-install.sh to work also for macOS.
The FFmpeg libraries are installed under /usr/local both for Linux
and macOS.

Since macOS x64 does not have the lzma lib for arm64 architecture
installed by default, I disable this libraries for FFmpeg. This
only affects the TIFF image decoder that we do not use.

Added the execute permission to the ubuntu scripts.

Change-Id: Ib8623c6a9bcdd24c89045ede0494839fb9cd2ecc
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2022-07-28 09:56:16 +02:00
Tommi Mänttäri
857ae6e1e1 CI Nightly: add Windows host support for QNX
Add required configurations to Nightly run for building
Qt SW in Windows host for QNX OS.

Task-number: QTBUG-101292
Pick-to: 6.4 6.3 6.2
Change-Id: I689abd6596bf1ab1f30ba07c198e12569dbf2164
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2022-06-14 08:03:59 +03:00
Piotr Srebrny
a273e9f11c Provision FFmpeg library for QtMultimedia plugin
One of the QtMultimedia backends is implemented using FFmpeg.
This provisioning enables building and testing of this backend.

Change-Id: Ia196c2ae4b457aa6b8e3ee8e0f367197aadfe0d9
Reviewed-by: Simo Fält <simo.falt@qt.io>
2022-06-13 09:56:56 +02:00
Kai Köhne
becb423e80 Replace LGPL2.1 only header with LGPL3 one
This is in line with e.g. qtbase. Also remove outdated/unreferenced
license files.

Pick-to: 6.3
Change-Id: I5d3370ab453610f9c8165ff9e57db7ad4a785370
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2021-12-19 19:47:15 +00:00
Dominik Holland
308584fbfd Provisioning: Update Python packages to the latest version
Pick-to: 6.2
Change-Id: I31f3eb4f2d633015105b2915eb8e385c1c2aa6cf
Reviewed-by: Simo Fält <simo.falt@qt.io>
2021-10-20 19:51:04 +03:00
Alexandru Croitor
e1bc1c4885 Remove vcpkg provisioning and configure arguments
Now that qtbase supports building bundled 3rd party libraries, we
should have no need for vcpkg in Coin anymore.

Change-Id: I7aa7b0323416b60ffb0cd70eec287e5f25963d9a
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-03-06 06:25:50 +01:00
Liang Qi
08e63423e2 Merge remote-tracking branch 'origin/5.15' into dev
Conflicts:
	.gitmodules
	coin/platform_configs/default.yaml
	coin/platform_configs/flashing-wizard.yaml
	coin/platform_configs/qt5.yaml
	coin/platform_configs/qtbase.yaml
	coin/platform_configs/qtconnectivity.yaml
	coin/platform_configs/tqtc-qt-config-gui.yaml
	coin/provisioning/qtci-linux-SLES-15-x86_64/02-zypperpackages.sh

Change-Id: I7af8a52d8b4452211982d86105dafacdd3d845c0
2020-02-28 13:49:10 +01:00
Dimitrios Apostolou
150f6277e0 Update telegraf version
Change-Id: I1a023e4f1de860a03a135f3b10f2c99d5309dd8b
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-02-15 07:38:58 +01:00
Dominik Holland
7b4b2f86a0 Provisioning: Update jinja2 to 2.10.3
This makes sure we don't run into CVE-2019-10906 when using
jinja2 in QtIvis Autogenerator.

Change-Id: If51bf54bd26858c6b5faa3dd6a6627f2979b862d
Reviewed-by: Robert Griebl <robert.griebl@qt.io>
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2020-02-15 07:38:32 +01:00
Dimitrios Apostolou
fe4a724a3e Use internal mirror repositories for Ubuntu docker containers
Depending on different external URLs makes our provisioning scripts flaky,
because they can fail if any one of the external servers goes down.
In this patch

* the docker images qt_ubuntu_16.04 and qt_ubuntu_18.04 are being built first,
  they apt-get from the internal ubuntu mirror

* all the existing docker images have been rebased to these two images, so
  they inherit this behavior

* images that fetch files from the internet have been modified to not do the
  fetching themselves; insted URLs are fetched in advance using "DownloadURL"
  which accepts internal mirrored URLs, and the downloaded files are ADDed to
  the images with a local copy

* previously existing git clone commands have been modified to fetch
  internally mirrored tarballs

Task-number: QTQAINFRA-3343
Change-Id: Ic4640a4f7776e38623edba90f0eba7cb68631223
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2020-01-13 19:44:45 +01:00
Simon Hausmann
68c8693e5b Merge remote-tracking branch 'origin/wip/cmake' into dev
This merges merely the provisioning changes needed to perform cmake
builds in the CI. The platform configuration changes will be applied
incremental as we merge support in the individual modules.

 Conflicts:
	coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh

Added ninja to
coin/provisioning/qtci-linux-SLES-15-x86_64/02-zypperpackages.sh
just to force re-provisioning.

Removed module_config.yaml because that breaks license check in
qmake builds.

Change-Id: Ic074c0c881404f4361e61f66130c0cb07f5e8b84
2019-12-13 14:58:08 +01:00
Alexandru Croitor
3aef268464 Update vcpkg snapshot
The snapshot uses the previous snapshot as a based. It was rebased
on latest master as of 2019-12-05, and also contains cherry-picked
patches to target iOS.

Change-Id: I9fc0c39856fdb255533f6c71d27f5749894b6bea
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-12-11 20:58:03 +00:00
Dimitrios Apostolou
e4f9ac5607 Tag the docker images as "latest"
We will use this tag in qtbase to refer to the image to run, because
with the current sha1tree() tag, every minor change in the docker images
requires synchronized changes between repositories.

Task-number: QTBUG-79867
Change-Id: If94eb6dd8b97526b589e58064837bc6554fed79c
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2019-12-05 09:13:39 +01:00
Simon Hausmann
1aa25c1084 Bump vcpkg to a new snapshot
Some patches were upstreamed and this beings the version in line with
what we need for Android. This patch also centralizes the version into a
shared file, for future use.

Change-Id: I90973f9bfcbc1bfeb2d11e2ee7a7fa4e4f6a58a2
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-11-13 09:57:53 +00:00
Liang Qi
29befcc995 Merge remote-tracking branch 'origin/5.13' into 5.14
Conflicts:
	coin/platform_configs/default.yaml
	coin/platform_configs/qt5.yaml

Change-Id: I48b1e814dd6328dfb2827d0898a277b81ec25e55
2019-10-01 11:37:07 +02:00
Dimitrios Apostolou
fbe3a8d84e Install telegraf on all provisioned VMs
Install binaries as early as possible in the provisioning process, and
start them, in order to monitor provisioning too.

To achieve this, some OS auto-detection logic is introduced in shell
script common.sourced.sh. The script can be sourced and used in all kind
of other generic scripts.

ioping is also installed from custom-compiled binaries in order to
monitor the disk latency of the VMs. Reason we don't use ioping from the
repositories, is that the units differ between ioping versions (new
ioping reports latencies in nanoseconds, old in microseconds).

Fixes: QTQAINFRA-3092
Change-Id: I9d9afb791955725d4bd0b32dae97dfc0bd4a76a3
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2019-09-27 08:42:31 +02:00
Liang Qi
9a8fb868ec Merge remote-tracking branch 'origin/5.13' into dev
This reverts commit d494d76c26.

 Conflicts:
        coin/platform_configs/default.yaml
                Temporarily remove the -no-opengl build.
        coin/platform_configs/meta-boot2qt.yaml
        coin/platform_configs/qt5.yaml
                Temporarily remove the webassembly build on windows.
        coin/platform_configs/qtwebkit.yaml

Task-number: QTQAINFRA-2577
Task-number: QTBUG-63917
Task-number: QTQAINFRA-2835
Done-With: Samuli Piippo <samuli.piippo@qt.io>
Change-Id: Ia7972b481a5ce33febe26c6589db24578614b2fd
2019-08-20 14:10:00 +02:00
Liang Qi
a94696ccd5 Merge remote-tracking branch 'origin/5.12' into 5.13
Conflicts:
	.gitmodules
		ignore QtWebEngine on QEMU temporarily.
	coin/platform_configs/default.yaml
		no-gui build was removed temporarily.
	coin/platform_configs/qt5.yaml
	coin/platform_configs/qtbase.yaml
	coin/platform_configs/qtconnectivity.yaml
	coin/platform_configs/qtsaferenderer.yaml

Task-number: QTQAINFRA-2576
Task-number: QTBUG-77304
Task-number: QTBUG-77305
Done-With: Tony Sarajärvi <tony.sarajarvi@qt.io>
Change-Id: If7cf75791677eace762374b92382a2ce15f17f55
2019-08-03 00:02:43 +02:00
Sona Kurazyan
e4b596fcfe Add the docker images for CoAP test servers
This change includes:
- Docker image for the test server to test non-secure and PSK-based
  CoAP security modes.
- Docker image for the test server to test X.509 certificate-based
  CoAP security mode.

Change-Id: Ice661917591ecaee8ebc3500209bcffc08981f65
Reviewed-by: Ryan Chu <ryan.chu@qt.io>
2019-07-07 11:36:16 +02:00
Heikki Halmet
91ab567a64 Provisioning: Upgrade PyYAML because of possible security vulnerability
Known high severity security vulnerability in pyyaml v< 4.2b1

Task-number: QTQAINFRA-2888
Change-Id: I6522fc66ca7c4323cc6248ec2cb31c62201f8e84
Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2019-04-18 14:35:52 +03:00
Maurice Kalinowski
3d087c5a6a Split docker provisioning files
Split the creation of the test images and the creation of the
docker environment. This way, one can easily recreate the test
images, without requiring to re-provision everything.

Change-Id: I35bbe8d8bf497f16d9be92cbaa2d9001f8eee247
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
Reviewed-by: Ryan Chu <ryan.chu@qt.io>
2019-03-15 12:14:20 +00:00
Mårten Nordheim
5c9979a995 Add docker container with iptables
Used for dropping packets on a specific port.

Needs to be launched with the NET_ADMIN and NET_RAW capabilities to be
able to actually be able to interact with iptables, this is done in
docker-compose.

Change-Id: I5093d19fbc269f42fe3e314e9344866fa5b79999
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-02-28 10:36:30 +00:00
Mårten Nordheim
03a0872a34 Add docker container with Cyrus
For its imap server, needed in various tests

Change-Id: I7ad11342f362392edec2f15c781f4c48deeeff30
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-02-28 10:36:27 +00:00
Mårten Nordheim
9d0022ee44 Add docker container with xinetd
Needed in the QUdpSocket test for the echo service and in the QSslSocket
test for the daylight service.

Change-Id: Ic7143eb7abd37dbf2c20ddb4b52cdd5ea3f0d193
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-02-28 10:32:59 +00:00
Ryan Chu
5cfa5637ba Provision docker test servers based on Ubuntu 18.04
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>
2019-02-02 12:23:22 +00:00
Ryan Chu
b4b2152dd3 Start the docker machine and update with new TLS certificates
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>
2019-02-02 12:23:18 +00:00
Ryan Chu
177df80f09 Docker Provisioning: Install docker test servers on Windows 10 (x86_64)
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>
2019-02-02 12:23:15 +00:00
Ryan Chu
ab3e34827a Display the provisioned version of docker tool kits
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>
2019-02-02 12:23:11 +00:00
Ryan Chu
b97e448ba4 Move and merge the provisioning scripts of docker to a shared folder
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>
2019-02-02 12:23:07 +00:00
Ryan Chu
ce3791a214 Docker Provisioning: Remove the fixed version of package dependencies
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>
2018-12-10 14:10:51 +00:00
Ryan Chu
ea76ace825 Docker Provisioning: Install Docker-based test servers on macOS
Build and cache docker images based on the configurations in testserver.
1. Move the shared Docker files to common/shared/testserver
2. Deploy boot2docker image into VirtualBox via docker-machine commands.
3. Build and tag the docker images by the SHA-1 of server context.

Change-Id: Ic5a588e5cc5e753ec4c4e2e1bc79917bbd03f95d
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2018-10-30 08:15:43 +00:00
Dominik Holland
f9f9e0944d Download and cache needed python wheels during provisioning
Instead of downloading the packages during the compile/configure
step setup a wheel cache folder during the provisioning phase

Task-number: AUTOSUITE-195
Change-Id: I465f1be7cdd351e7680dcd8ae22d5e97ddf8cb2d
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2018-07-31 14:36:41 +00:00
Heikki Halmet
4a7366f960 Provisioning: Refactor libclang installation
Libclang must use cached url (ci-files01-hki) to reduce the download time
Libclang release_60 versions were rebuild which requires sha1 changes

Task-number: QTQAINFRA-1966
Task-number: QTQAINFRA-2100
Change-Id: Iddf47a2a3a5bc38dbed684320120164bb40c028c
Reviewed-by: Simo Fält <simo.falt@qt.io>
2018-06-29 05:49:22 +00:00
Liang Qi
b1f1bf5560 Merge remote-tracking branch 'origin/5.11.0' into 5.11
Change-Id: Ia252225aa1339ac448dd726b149e08739c02dfc5
2018-05-09 22:12:22 +02:00
Tony Sarajärvi
b1c3eeb213 Fix styles in setting proxy
Change-Id: Iac4243e767a7cfb29b9bb0b4603ca6509356ce8c
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2018-05-02 19:01:44 +00:00
Jędrzej Nowacki
c5ddbdb86b Update clang version to 6.0
The version also contains statically compiled libraries so we can
ship qdoc without shipping libclang.

The change temporarly removes CI qdoc builds from RHEL6 and MinGW,
these two configurations are not used for packaging, just for CI
testing. We should restore MinGW later.

Task-number: QTBUG-66015
Task-number: QTBUG-67764
Change-Id: Ie37b4be6a639e81d9ef0815682c6d60981cbeaae
Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io>
Reviewed-by: Fredrik de Vibe <fredrik.devibe@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2018-04-28 11:59:06 +00:00
Heikki Halmet
23b4bcf6c5 Provisioning: Move http_proxy.txt under shared folder
Change-Id: Id5b2f07a92eadfb21fbfdb3fb65621d6322dc8c4
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2018-03-15 15:07:27 +00:00
Heikki Halmet
dc5f851e78 Provisioning: Add common shared folder
Common shared folder includes scripts of files which are common for all
operating system families. Changes under shared folder will trigger
provisioning for all platforms

Change-Id: I0789f87b76876d5f92673fe2f0e72d770e5f5ea4
Task-number: QTQAINFRA-1451
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2018-01-26 13:12:47 +00:00