Commit Graph

91 Commits

Author SHA1 Message Date
Volker Hilsheimer
ac2a19ab7e Build shared FFmpeg on Linux and set dependencies to stubs
Task-number: QTBUG-120990
Change-Id: I8fccf8ef58cf6334e71287450ee30cc2256516d9
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
(cherry picked from commit 83adc86c53)
2024-06-25 06:19:28 +02:00
Tim Blechmann
6eed0ab93a provisioning: install gstreamer plugins
This allows us to run unit tests that require real-world codecs on
debian/ubuntu

Pick-to: 6.7 6.5
Change-Id: I99a73506610ea430948692f8a88045394e747750
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 02af86d2aa)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-25 04:19:23 +00:00
Zoltan Gera
ef13af8e5a Include python venv installation in Ubuntu provisioning
The venv module is part of the default Python installations in most
Linux distributions except the Debian line. However, we had this already
installed on Debian images, but not on Ubuntu images. This is required
for Qt Interface Framework.

Change-Id: I255f27edf53acbb7ab258d5495636759bddc888b
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2024-05-15 14:48:28 +03:00
Casimir Saastamoinen
23116e7331 Configure pip for internal cache
Task-number: QTQAINFRA-5531
Change-Id: I89c5502f62b2777a06b8f301a9fbaca1a3f8859d
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2023-11-05 12:06:07 +03:00
Artem Dyomin
aea9fc281c Install vlc binaries on ubuntu and macos for QtMM streaming tests
Cross-platform VLC provides a cmd-line interface for creating media
streams, we use it in QtMultimedia integration tests.
In the future, vlc might be replaced with something more light-weight,
but for now let's just start running the streaming tests at least on
these platform.

Pick-to: 6.5 6.6
Change-Id: I887a98a1ee8f4a9f0a08d16124303bd10fa5a6ba
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
2023-10-11 13:16:19 +00:00
Tony Sarajärvi
620666bce4 Fix shellcheck complaints about provisioning scripts
Also adds executable attributes to shell scripts that were missing it.

Change-Id: Id52ef495147fdbfb5cb1a1f711fac530e0e85f3b
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2023-09-13 06:44:02 +00:00
Lucie Gérard
ae21de72f3 Add license header to provisioning scripts missing one
Task-number: QTBUG-108364
Pick-to: 6.5 6.6
Change-Id: I5b1d53aad917ed38f9e26e1fcc1b97b921c0603a
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2023-08-31 16:25:43 +02:00
Artem Dyomin
76f4cebd21 Add libvaapi to the ffmpeg build on Linux x86_64
We need to provide hw acceleration in qtmultimedia linux packages,
vaapi interface is already integrated to the module.

To be described in QtMM documentation.

Pick-to: 6.6 6.5
Change-Id: I60fcc0b43e5800b7dc5621bfb835c72237fd9b02
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
2023-08-12 15:58:25 +00:00
Dominik Holland
b87b44168c Provisioning: Remove the special wheel cache for python3 packages
It should be replaced with a global pip cache in the long run.
Removing it should make the maintenance of the required packages easier
as it can be done within the modules instead of in the global
provisioing scripts.

Pick-to: 6.6
Change-Id: Ief9832a8a640ce98325cda015d0a9e89d6cb16af
Reviewed-by: Simo Fält <simo.falt@qt.io>
2023-07-25 15:52:51 +03:00
Lucie Gérard
eecfb19548 Use SPDX license identifiers
Replace the current license disclaimer in files by
a SPDX-License-Identifier.
License files are organized under LICENSES directory.

Pick-to: 6.5 6.6
Task-number: QTBUG-67283
Task-number: QTBUG-108364
Change-Id: If26e4d35c780db4a7982bb84872b251dad24716e
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2023-06-12 12:10:41 +00:00
Fredrik Ålund
cbebb76ee2 CI scripts for Mimer SQL
To be able to build the Mimer SQL Qt Sql plugin the Mimer SQL RDBMS needs
to be installed in the CI environment.

Add CI scripts for Mimer SQL

Task-number: QTBUG-111219
Change-Id: Iff900d49ef5b26d97f4f326b0c0e0bc584c416f9
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2023-02-18 09:44:01 +01:00
Artem Dyomin
e5cf7b2d58 Fix missing ffmpeg for desktop Linux CI platforms
What's done:
- ffmpeg build added to OpenSuse platforms
- installing of yasm moved to packages install file in
  order to get rid of OS checkings

Pick-to: 6.5
Change-Id: I256f19a03e7f01d27923b083b63d9a6b6a5f29b4
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
2023-01-24 09:22:06 +00:00
Alexey Edelev
134c07923c Rename protobuf provisioning scripts
Use correct protobuf project name for provisioning scripts.
This also should trigger provisioning for all the involved platforms.

Change-Id: I4cfa74c1d41f497db528ee3ae152db1d51de821a
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2022-09-08 10:27:57 +02:00
Alexey Edelev
ad84c5cb8a Update protobuf provisioning scripts
Enable protobuf provisioning for all linux platforms, since it's
required to build qtbase with protobuf support.

Delete install_protobuff for macos 10.14 since it's not used and
wouldn't build without special casing.

Change-Id: I9c7dea876c45dbcbfc3110b106ae683bbe9179ec
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2022-09-08 10:27:54 +02:00
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
Axel Spoerl
aa9095d4cd Harden cache delete script and extend to all Linux CI platforms
Log script activities and deleted toplevel cache files/directories.
Use sudo to override permissions in cache.
Remove legacy single file based cache if it exists by error.
Create cache directory with appropriate permissions if missing.

Pick-to: 6.4 6.3 6.2 5.15
Change-Id: Id6ad930bf8ba9233eeea8a7602d25c98d0058409
Reviewed-by: Simo Fält <simo.falt@qt.io>
2022-07-20 16:23:58 +00: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
Toni Saario
a2393b5882 Update git
Older git version does not allow fetching single specific sha1.

Pick-to: 6.2 6.3
Change-Id: Ib795659a597042876a5c7b6fab3875fe1e39873d
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2022-02-22 08:16:45 +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
Heikki Halmet
2aa8303236 Provisioning: Add OpenSSL for Android to macOS
Task-number: QTBUG-97243
Pick-to: 6.2
Change-Id: Ibf67b7d713904edb9f8ee83b35eb096e2d3f1eb1
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2021-10-18 14:22:16 +03:00
Tony Sarajärvi
e0eb04ecf8 Add execution attribute to provisioning scripts
Change-Id: Ia241a4211d24d2788f0f0ef9af55b23a6b227624
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2021-07-01 15:40:33 +03:00
Toni Saario
f83567b7f5 Provision conan on ubuntu 18 and macos 11
Pick-to: 6.1
Change-Id: Ie11e8bb2b39acd3ab6229cb211c37500cbb7ed77
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2021-04-12 06:49:19 +00:00
Heikki Halmet
8843f51866 Change GCC version to 8.3.0 for Ubuntu 18.04
We need to use gcc 8 instead of 9 so that the Qt installer
will work with CentOS 8.3 which have gcc 8 in the system.
If we use newer gcc version with the binaries there will be issues
with libstdc++.
Using gcc-toolset-9 in CentOS won't help either because it will link
libstdc++ against the one in system.

Pick-to: 6.1
Task-number: QTBUG-91352
Change-Id: I2a3d186bc04b1f54f14ed95f0588d18bd63814c4
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
2021-03-03 07:51:46 +02:00
Heikki Halmet
b64b4b169e Add Ubuntu 18.04 for Qt6 binary packages
We need to start using Ubuntu 18.04 with Qt6 binary package
targets. Ubuntu 18.04 includes older GLIBC version which
shouldn't cause any problems with linux distributions supported
by Qt6

Tests will be executed with Ubuntu 20.04.

Task-number: QTQAINFRA-4193
Change-Id: Icb189c509351ff080a2c6431299cc0be6ba8adc1
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2021-02-16 08:18:52 +01:00
Tony Sarajärvi
a509883207 Replace Ubuntu 18.04 with 20.04
Task-number: QTQAINFRA-3699
Change-Id: Id8c2bc2160d6805339c29961cec784d64c5f0c4d
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-08-20 21:44:32 +00:00
Jędrzej Nowacki
015c86534c Enable use of sccache in the CI
The sccache may significantly reduce build times.
We need to evaluate real cases to see how much is to gain.

This patch enables sccache only on cmake, exluding one msvc target
with debug flag -Zi, which creates separate debug symbols.
Related sccache issue:
  https://github.com/mozilla/sccache/issues/242

Task-number: COIN-130
Done-with: Aapo Keskimolo <aapo.keskimolo@qt.io>
Change-Id: Ic1f599c5194bcdee9528a548dabead1097821cd1
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-08-19 12:59:16 +03:00
Heikki Halmet
163c23f97c Provisioning: Upgrade GCC version from 9.2 to 9.3
Task-number: QTQAINFRA-3858
Change-Id: I5266162d1c144b117e3a61988f3348f2cd3d3c0a
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2020-08-07 08:29:30 +03:00
Heikki Halmet
122cf4cc0e Provisioning: Install Node.js
Node.js is needed by QtWebengine

Pick-to: 5.15
Task-number: QTQAINFRA-3729
Change-Id: I23ece8567c569d8376eff52b7845589c60d069b8
Reviewed-by: Toni Saario <toni.saario@qt.io>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2020-06-09 20:58:09 +03:00
Liang Qi
54c94ae681 Merge remote-tracking branch 'origin/5.15' into dev
Conflicts:
	.gitmodules
	coin/platform_configs/default.yaml
	coin/platform_configs/qt5.yaml
	coin/platform_configs/qtbase.yaml
	coin/platform_configs/qtwebkit.yaml
	coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh

Change-Id: If6b0f7a671a69d6a2444ee4d26b324e4d269970c
2020-04-30 18:35:08 +02:00
Liang Qi
cc4fdea014 Merge remote-tracking branch 'origin/5.14' into 5.15
Conflicts:
	.gitmodules
	coin/platform_configs/qt5.yaml
	coin/platform_configs/qtsdk.yaml
	coin/platform_configs/tqtc-qt-rta.yaml
	coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh

Change-Id: I2221262edc024e0aa11b9dab4d08c2df3a0b53b0
2020-04-24 15:31:01 +02:00
Simon Hausmann
00b3c634cf Update Yocto SDKs to Warrior
This is needed to include various fixes to allow building the CMake port
against the contained sysroots.

Change-Id: I42fc055a0e1e2abe5567b9ac3e1bc5e20fcd9900
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-03-19 21:52:59 +01:00
Konstantin Tokarev
b7b6e31d47 Provisioning: Install QtWebKit dependencies on Ubuntu 18.04
Change-Id: Ib9a142ed6641436669c31ae8489ab9c89576e77a
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-03-05 04:12:01 +03: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
Heikki Halmet
7e126af82f Provisioning: Update GCC to version 9.2 for Ubuntu 18.04
GCC bug which breaks Webengine build should be fixed in GCC 9.2

Task-number: QTQAINFRA-3534
Change-Id: Ie0df7c67e0e96cca5632bcd0e6a3db822fcbffbe
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2020-02-19 11:01:15 +02:00
Liang Qi
d6d9806883 Merge remote-tracking branch 'origin/5.14' into 5.15
Disable a no-gui build on Ubuntu 18.04 for 5.15.

 Conflicts:
	coin/platform_configs/default.yaml

Task-number: QTQAINFRA-3406
Change-Id: Ida5271d29b89375c045de0c4e6dc20840a0bc748
2020-02-14 09:49:03 +01:00
Samuli Piippo
154ae1ebef Remove default hostname from ubuntu
Removing the default hostname makes system create unique hostname
based on the IP address. This is needed to make NFS operations
reliable.

Task-number: QTQAINFRA-3257
Change-Id: I9e4dc4950f5d1a1b7f85372674f79d1701d1eab6
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2020-01-20 20:04:48 +00:00
Assam Boudjelthia
51417379f7 Install QEMU from .deb package from internal cache
QEMU cloning and building with each provisioning takes
time, thus installing it from a prebuilt installable package
can save lots of time in provisioning.

Task-number: QTQAINFRA-3396
Change-Id: I3e9b0fedeecb6ddbae3997742827552ce9419399
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2020-01-03 17:33:24 +02: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
Heikki Halmet
7c1c98e123 Provisioning: Install libpoppler
Poppler test requires this package

Task-number: QTQAINFRA-3253
Change-Id: Ifc0904ca020a8606b06a4032d5145fbf2f8063f1
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
2019-12-03 17:51:21 +02:00
Liang Qi
63c515a6cb Merge remote-tracking branch 'origin/dev' into wip/cmake
Also update the Windows config to use MSVC2019 instead of 2017
to circumvent the issue that vcpkg is building libraries with the
latest compiler it finds (MSVC 2019), but Qt is building with 2017.

 Conflicts:
	coin/platform_configs/default.yaml
	coin/platform_configs/qt5.yaml
	coin/platform_configs/qtsaferenderer.yaml

Change-Id: I88deb114e171046b50fc617ab6bc18b707d61486
2019-11-28 19:44:30 +01:00
Dimitrios Apostolou
ef7481b9cd Workaround broken local apt mirror
Local mirror is mirroring a public mirror, and for some reason there is
a mismatch of file sizes and file hashes for the dep-11 metadata files.

More info:
https://askubuntu.com/questions/823329/how-do-i-disable-fetching-of-dep-11-files

Task-number: QTQAINFRA-3351
Change-Id: Ia48936e7d0b9efb2f86fbe001f22f2bd28a7ea3d
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2019-11-14 08:46:22 +01:00
Simon Hausmann
c85543f88d Merge remote-tracking branch 'origin/dev' into wip/cmake
Conflicts:
	coin/platform_configs/default.yaml
	coin/platform_configs/qt5.yaml
	coin/platform_configs/qtbase.yaml
	coin/platform_configs/qtdeclarative.yaml
	coin/platform_configs/qtsaferenderer.yaml
	coin/platform_configs/qtsdk.yaml
	coin/provisioning/common/linux/cmake_linux.sh
	coin/provisioning/common/windows/cmake.ps1

Change-Id: I37bb513e3be19e4de4003679f8528677e57c09ee
2019-11-11 10:52:16 +01:00
Tony Sarajärvi
5b77e74a5e Change local Ubuntu repo mirror in provisioning
The old mirror host Qt company used to sync their local mirror
from, stopped syncing from Ubuntu in October 2018.
The mirror mechanism was changed so that in the future if
addresses change, we don't have to touch the provisioning scripts
as the address is more general. Also a duplicate entry was removed.

Task-number: QTQAINFRA-3279
Change-Id: I65ada052d308eaef0411eb9caad893304eb05ab6
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2019-11-01 08:14:27 +00:00
Liang Qi
1478b607d6 Provisioning: install libsdl2 on ubuntu
Change-Id: I3c547c1e44ebc734fd9908db2828440bc13f55f5
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-10-03 08:15:51 +00:00
Dimitrios Apostolou
c4e14a59ec Move telegraf install to start of provisioning linux
Change-Id: Ia42b0c21f6e341a941e98d3abbda512cfb0fda92
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2019-09-27 08:43:00 +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
44073f5563 Merge remote-tracking branch 'origin/dev' into wip/cmake
Conflicts:
	.gitmodules
	coin/platform_configs/default.txt

Change-Id: I78eb6b6522c678fb40f1202c0040c1c87ff890a6
2019-09-23 16:38:06 +02:00
Assam Boudjelthia
ddc99482eb Cherry-pick a QEMU fix for "core dumped" during tests
Task-number: QTBUG-63152
Change-Id: Iac803ca67537eeb9085fb87625103fdde0bfd904
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2019-09-17 11:57:28 +03:00
Assam Boudjelthia
d581d86fc5 Provisioning: update QEMU toolchains
* Update QEMU toolchains to Yocto thud(2.6) release(DC Qt 5.13.0) with
GCC 8.2.0.
* Suppress QEMU "Unsupported syscall" and "Unsupported ioctl" logs,
set environment variable QEMU_SYSCALL_DEBUG to show them.

Task-number: QTQAINFRA-2808
Change-Id: I987353b0f3aff87a02ea3bf96ace8de32d6f557b
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2019-09-07 07:09:24 +00:00
Liang Qi
f58935ebea Merge remote-tracking branch 'origin/5.12' into 5.13
Conflicts:
	coin/platform_configs/default.yaml
	coin/provisioning/common/linux/disable-ntp_linux.sh
	coin/provisioning/qtci-linux-SLES-12-x86_64/55-emsdk.sh
	coin/provisioning/qtci-linux-SLES-15-x86_64/55-emsdk.sh
		emsdk.sh was moved from linux to unix, see
		38e416be66

Change-Id: I5b06dde2860a4e4869960ae2a5be1d6a1396e957
2019-08-28 20:28:11 +02:00