Commit Graph

522 Commits

Author SHA1 Message Date
Heikki Halmet
2c0816aa99 Provisioning: Change mounting folder for Squish installation
Sometimes some process is locking the mounted folder (/tmp) so that
it can't be unmounted untill the process has been ended.
Let's create squish folder under tmp and use that for mounting
instead

Task-number: QTQAINFRA-3709
Change-Id: I49ab8fd90af37a670e45764a176b62d7a732cc6c
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
(cherry picked from commit c671c2352e)
Reviewed-by: Antti Kokko <antti.kokko@qt.io>
2020-06-10 07:24:41 +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
Heikki Halmet
4ca819a713 Provisioning: Fetch pre-installed squish from local cache
Squish installation is flaky so the installation phase has been
moved from provisioning to Jenkins. Jenkins job will install the
squish to target VM and copy it to local cache. This change only
fetch the installed squish packages from local cache and
uncompress those to VMs.

Task-number: QTQAINFRA-3510
Task-number: QTQAINFRA-3107
Change-Id: I862da3250120dc6a43d9c04d973a25a691ca66a1
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
(cherry picked from commit b0286d6cd6)
Reviewed-by: Toni Saario <toni.saario@qt.io>
2020-06-09 06:09:45 +00:00
Heikki Halmet
9c33fe844a Provisioning: Use signed opengl32 package
Task-number: QTBUG-80252
Change-Id: Ife9942796ed64c4e2894fb3342259c674cf5d7ed
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2020-06-05 13:22:07 +03:00
Alexandru Croitor
68134db435 Update provisioned CMake version to 3.17.2
This should fix the ninja deps issue we had on Windows with the
Ninja Multi-Config generator, where calling ninja a second time to
rebuild the project failed.

More details at https://gitlab.kitware.com/cmake/cmake/-/issues/20723

Change-Id: I0029e57fbc704120d2241499a87cad0ad40c2e50
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-05-26 21:57:20 +02:00
Alexandru Croitor
3652f77aa3 Provisioning: Set macOS locale to "en_US.UTF-8"
The 419f42903154489e2dace8d1eba183036275448b commit in qtbase
introduced a regression where the tst_fusion test in qtqtuickcontrols2
hits a deadlock while trying to print a warning about a non-UTF-8
locale.

The warning is due to the fact that the agent executed in Coin's VM
does not have an explicit locale set, and thus it defaults to "C".
There is no explicit locale set in any .bashrc (or similar files),
and neither in any launchd configuration (because the agent is
executed at macOS startup via launchd).

The deadlock is due to trying to acquire the same lock twice while
trying to write output to stdout.

The test only deadlocks on CMake configurations, and not qmake
configurations, because Coin has a hardcoded instruction to set the
locale to UTF-8 when running qmake tests.

Until the deadlock situation is addressed in another change, the issue
can be fixed by setting the macOS configuration locale to UTF-8
explicitly, by assigning the LANG environment variable
into ~/.bashrc at provisioning time, like we do with other environment
variables like PATH.

Fixes: COIN-578
Change-Id: Ib6a5849a6868c1776dd425aeb8b5e7d6faa8cde0
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2020-05-07 21:52:16 +02: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
Heikki Halmet
5f03b84e65 Provisioning: Add sleep before killing gpg-agent in msys installation
Task-number: QTQAINFRA-3691
Change-Id: If84fd2d0d1cd6dccadf21cbf688aca6182cdd920
Reviewed-by: Simo Fält <simo.falt@qt.io>
2020-04-30 11:05:15 +03: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
Liang Qi
882294edc3 Merge remote-tracking branch 'origin/5.14.2' into 5.14
Conflicts:
	.gitmodules

Change-Id: I950588f85d1b39ba6ce994821db9f340b72fa6d2
2020-04-23 12:27:46 +02:00
Mårten Nordheim
176d9ce09c Don't manually rerun conan Run-Conan-Install
Modern conan will retry downloads on its own. Change default number of
attempts to 5 for more reliability.

Change-Id: Iafd4845b31c3e5fb296ba0b897cbf2030c412b04
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2020-04-15 09:53:44 +03:00
Rami Potinkara
08b99e8def qdb building for mac
Modified qdb.yaml and created and pkgconfig and libusb relates .sh
files so that QDB can be build for Mac OS due to USB Ethernet CDCECM enabling.

Task-number: QTBUG-82531
Change-Id: Ia5f970e5940b7d9116831c8174db0ea1b9231234
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
2020-04-15 08:28:12 +03:00
Heikki Halmet
61267a7a78 Provisioning: Remove notifications and warnings from macOS
Notifications and warnings in UI might affect RTA and autotests results

Change-Id: I447dab3ba839d2c577f633cbf96fc7f3e5fdfe25
Reviewed-by: Johanna Äijälä <johanna.aijala@qt.io>
2020-04-14 14:21:19 +03:00
Heikki Halmet
8101b54714 Provisioning: Update Windows 10 x86_64 to version 1909
These are also updated to tier1 image:
msvc 2017: Not installed
msvc 2019: version 16.4.4
msvc 2019 build tools: version 16.4.4

Task-number: QTQAINFRA-3623
Task-number: QTQAINFRA-3417
Change-Id: I006204ca090c4e2cf0d2ffc2309ab6b94f9b7d47
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2020-04-04 17:13:43 +03:00
Lorn Potter
f5862a11f4 Provisioning: Bump emscripten version to 1.39.8 on Windows
(cherry picked from commit 939c014039)

Task-number: QTQAINFRA-3577
Change-Id: I5842158c0a11b29791fcb97d4523467de899e1e2
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-04-04 08:15:38 +02:00
Morten Johan Sørvig
922cca96bf Provisioning: Bump Emscripten version to 1.39.8
(cherry picked from commit 10e843566e)

The upstream URLs have changed:
 - emscripten packages now at github.com/emscripten-core/emscripten/archive/
 - binaries (llvm/binaryen/node) now at storage.googleapis.com/webassembly/emscripten-releases-builds/

Add support for unpacking tbz2 files. Keep caching as
before, update .emscripten config file with new paths.

Task-number: QTQAINFRA-3577
Change-Id: I239aaf89bc199e5f6267519861f9b2ab54f10b0f
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-04-04 08:15:13 +02:00
Lorn Potter
939c014039 Provisioning: Bump emscripten version to 1.39.8 on Windows
Task-number: QTQAINFRA-3577
Change-Id: I63b06a8ac0b4a7233ed9031c7354f3b355c9f8ad
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2020-03-20 08:09:48 +10:00
Morten Johan Sørvig
10e843566e Provisioning: Bump Emscripten version to 1.39.8
The upstream URLs have changed:
 - emscripten packages now at github.com/emscripten-core/emscripten/archive/
 - binaries (llvm/binaryen/node) now at storage.googleapis.com/webassembly/emscripten-releases-builds/

Add support for unpacking tbz2 files. Keep caching as
before, update .emscripten config file with new paths.

Task-number: QTQAINFRA-3577
Change-Id: I53e72f19d3eefa0e2155493db4f93c8730c60334
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
2020-03-12 20:05:18 +01:00
Alexandru Croitor
e9c2be7b6a Update provisioned CMake version to 3.17.0-rc2
We want to test debug_and_release builds with CMake as soon
as possible.

Change-Id: I7d4c0a4e33adc26129844ff34ea8df6b149e184f
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-03-09 23:42:21 +01: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
Konstantin Tokarev
4c880b3aff Provisioning: install dwz 0.13 to RHEL 7.6
It is used for compression of QtWebKit debug info, saving
about 1Gb (~40%) for non-compressed debug file of
libQt5WebKit.so, and ~50% of 7z-compressed debug package.

Version 0.12 provided in RedHat devtoolset exposes a bug
when applied to QtWebKit debug info:

https://sourceware.org/bugzilla/show_bug.cgi?id=24251

Change-Id: I0395aadfb7babbbc150f367f8b5dd296dc6d2064
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-03-05 04:12:22 +03:00
Konstantin Tokarev
b263f0a2d1 Provisioning: Install Conan packages for VS2019
Change-Id: Ibbee96ea7ad9e054e1521c897206c9863acc9c08
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-03-05 04:11:50 +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
Liang Qi
4ade81d4dd Merge remote-tracking branch 'origin/5.14' into 5.15
Change-Id: Ib51a6d362bf9cc5f6e6f56feadfe264216e24223
2020-02-25 09:51:20 +01:00
Konstantin Tokarev
b73e61a458 Provisioning: update Conan and Conan packages to latest versions
Task-number: QTQAINFRA-3556
Change-Id: If9c600a6bb3aae893924f9372c8b248d3e58f887
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-02-22 12:01:44 +03: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
Dimitrios Apostolou
d757c6d0ec Try to catch all errors when sdkmanager installs
Task-number: QTQAINFRA-3531
Change-Id: I008c31a824287c60e67a665d0c2a3aebec863929
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-02-15 07:39:06 +01:00
Dimitrios Apostolou
b2d3df3553 Exclude monitoring of some filesystems on macos
For a short time after boot, macos sometimes mounts a filesystem of type
"msdos" at the unique path /Volumes/firmwaresyncd.XXXXXX.

Telegraf [inputs.disk] plug-in stores records to InfluxDB, with the unique
mount path under "path" tag. The uniqueness of the path blows up the
cardinality of the database.

So exclude "msdos" filesystems from being monitored by telegraf.  Additionally
exclude "cd9660" filesystems that appear always as 100% full.

Change-Id: I4cdd3fca57b3db6157df168cc8a5314e64528b2d
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-02-15 07:39:01 +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
Dimitrios Apostolou
27e42b7a3c Silence sdkmanager on Windows
sdkmanager is already silenced on the other OSes, as it prints thousands
of lines of progress bars in the logfiles.

Change-Id: I4a2aa422a83cfe5fc6a3a7ba7be69e1e9c01acc0
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-02-15 07:38:54 +01:00
Dimitrios Apostolou
47b74fb0ab Print filesystem information at the end of each provisioning
Change-Id: I549a917126954fae62dcdebb5c45a4f6aeb07551
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-02-15 07:38:52 +01:00
Dimitrios Apostolou
de2b280ad8 Windows now report versions.txt and df info at the end of provisioning
Change-Id: Ic2b299c04c91eb498822aca110cea774fdb7cf17
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-02-15 07:38:50 +01:00
Dimitrios Apostolou
2693e482b6 Extract archive directly to destination filesystem
Save some seconds or even minutes during provisioning, by avoiding copying
many files across filesystems, from /tmp to /usr/local. We now install
directly to /usr/local.

Change-Id: I3a8f545f1400995095193c4eb337f9dd8534ef72
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-02-15 07:38:43 +01:00
Dimitrios Apostolou
fc2d0b5150 Create more meaningful temporary file names
Change-Id: I4bbc94993e51502ea08109a4c99f3e212349ab24
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-02-15 07:38:41 +01:00
Dimitrios Apostolou
b018b841c1 Do not complain about existing empty files
Sometimes we pre-create the target filename using mktemp. In that case of
course the hash will not match, so avoid comparing.

Change-Id: Id0feb0178d659e03f5ceb000f738167cdc28a3ec
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-02-15 07:38:39 +01:00
Dimitrios Apostolou
25fcda6ff3 Alias expansion is not working reliably in non-interactive shells
It happened that old bash version on macOS the alias was not being expanded
for non-interactive shells running under "bash" but was being expanded fine
when under "sh". Using functions is the recommended way.

Here we define a function conditionally.

Change-Id: I607b265cb9e88b2b529ed170121e5a0833003acd
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-02-15 07:38:37 +01:00
Dimitrios Apostolou
c0033df4b9 Execute a specific version of homebrew install script
Also first try to download it from local mirror.

This install script appears to be doing a lot of git-cloning and downloading
itself though, so it is still far from the ideal solution: to only download
from locally cached endpoints.

Task-number: QTQAINFRA-3134
Change-Id: I32131045d6e62f302ec666b4ac055ca5ee9662d5
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-02-15 07:38:35 +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
Tuomas Heimonen
eb3d2ed68b Provisioning: Remove unistd.h from postreSQL from 64 bit Windows
PostreSQL 9.6 version creates emtpy unistd.h file which will cause
failure in Qt Safe Renderer' MinGW build. By removing it the system
should use the one from the MinGW environment.

Task-number: COIN-488
Change-Id: I76d3f34dd9726dc4f0aac06c410f306dffc8f365
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-02-02 10:57:42 +02:00
Heikki Halmet
e7cf4b21f1 Provisioning: Remove unistd.h from postreSQL
PostreSQL 9.6 version creates emtpy unistd.h file which will cause
failure in Qt Safe Renderer' MinGW build. By removing it the system
should use the one from the MinGW environment.

Task-number: COIN-488
Change-Id: Id7f2f5024998cc5fbeb61e144bcd87f6e09b2bb1
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2020-01-28 17:07:16 +02:00
Heikki Halmet
5d027444b5 Provisioning: Update postgresql
Apparently libpq version 9.1.9 is no longer supported.
Let's use version 9.6 to keep maximum compatibility and align
the version with MacOS.

Task-number: QTBUG-79555
Change-Id: Iea98a1eb821f103e3a610ed602746407bfe5ea97
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2020-01-14 14:35:06 +02: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
Dimitrios Apostolou
302b228c7a Do not try to double-install docker-ce-cli
That happened because docker-ce* was installing both docker-ce and
docker-ce-cli, so apt was printing a warning.

Change-Id: I0cad82243c8c3d5c0b9f26fc7b24673268259aa4
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-01-13 19:44:45 +01:00
Dimitrios Apostolou
4d7f6c711c Remove unused script
Change-Id: Ic3c57966c78fd8158a2467956fd31eaa4374412d
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2020-01-10 16:06:07 +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
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
Liang Qi
95c7b90309 Update CMake to version 3.16.0-rc4
Change-Id: I4fc1f412888e1915ae2110320c18fb39a9600b94
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2019-11-29 10:00:50 +00: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
Simo Fält
9cf8af5248 Provisioning: Remove sudo when installing pip packages for Qt user
There is no need to install as sudo for qt user. Using sudo will
change the cache dir's permissions preventing us from
installing anything with pip as normal user.

Change-Id: Id45bf3805ce4d772a6c82e429d4e1948289f076e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2019-11-25 13:15:51 +00:00