Commit Graph

1470 Commits

Author SHA1 Message Date
Dimitrios Apostolou
5d431ecc97 Refactor python3 installation in SLES-15 provisioning
+ Use DownloadURL to download from local cache
+ Verify download SHA
+ Silence the tarball extraction
+ Install some generic packages in 02-zypper.sh
+ Use some other generic facilities from common.sourced.sh
+ Other minor changes

Task-number: QTQAINFRA-3528
Change-Id: Ic085d43381e220a0a4a52ef6d5bb0cf8a9bf7032
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-02-15 07:39:02 +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
d84b366d55 Silence the sdkmanager progress bar on macos
The exact same method is already in use on all Linux provisions,
it was just copied to macos.

Change-Id: I873f6efd99b147c5364e0dda6c26c7dad7dee480
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-02-15 07:38:57 +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
5dda5f374f Mask PackageKit on SUSE
Fixes a flaky conflict between zypper and packagekitd.

packagekit is a *static* unit, that means it is missing an [Install] section,
so it can't be enabled or disabled. It is started as a dependency by other
units, or by dbus activation.

We *mask* the unit to make it impossible to start in any way.

For that we had replace a few occurrences of "pkcon" with the native package
manager.

Finally the package "libpython3_4m1_0" is not being installed any longer
because it never was: this package does not exist. It's just that pkcon does
not fail on invalid package names.

Fixes: QTQAINFRA-3523
Change-Id: I6ff580afb05aa508042c444b2ce777c3a9443dfe
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-02-15 07:38:47 +01:00
Dimitrios Apostolou
db23c64876 08-pythondev build should not execute external script
The important bits of the script were copied and modified.

NOTE that we no longer build openssl from source, the distro (SLES15) provides
a version that works well.

Task-number: QTQAINFRA-3528
Change-Id: Iad63d75055a7efc3e104789e4a515b8511cf0880
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-02-15 07:38:45 +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
Alexandru Croitor
aa977addd2 Bump CMake CMAKE_OSX_DEPLOYMENT_TARGET to 10.14
To hopefully get proper macOS C++17 support.

Change-Id: Icd7fcf49de319e4d20693db356e85f3c5332581e
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-02-14 11:29:00 +01: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
Heikki Halmet
fd7bfcc0c5 Provisioning: Update signing tools for macOS
Update expired certificates

Task-number: QTQAINFRA-3540
Change-Id: I21e718901cb3f5c901273c0c122430f5caaea3d0
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2020-02-14 05:08:31 +02:00
Alexandru Croitor
dad8e600bd Disable iOS CMake builds until vcpkg is provisioned on macOS
It will be reinstated later once confirmed that all the necessary
bits are there.

Change-Id: I04ca0dda3f9feece8acc9039c8372d346b4f3cd4
Reviewed-by: Liang Qi <liang.qi@qt.io>
2020-02-13 12:54:44 +01:00
Simon Hausmann
dfb773505c Prospective fix for macOS CMake builds
Adjust the SDK root path to match what's on the system. This should
ideally not be hardcoded here but detected, but for now fixing the build
is highest priority.

Change-Id: I317fe9a4e038cb62cf6cdf06f10a60aa9d975e15
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-02-13 09:48:00 +01:00
Simon Hausmann
4d0a52ddbf Prospective fix for broken cmake builds on 10.14
Add missing dependencies that were there on 10.13.

Change-Id: I1d81e9f50a83486784bef02bf904e3e8c53c4f11
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-02-12 22:32:15 +01:00
Alexandru Croitor
de86e584d5 Add iOS CMake builds for qtbase and qtsvg
Change-Id: I8a14aefd0d28f13cb3fe9e80aac2d480a4ad16af
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-02-12 19:19:39 +01:00
Alexandru Croitor
f246adc1bd Add CMake builds for qtsvg
Change-Id: Ia219be907e44f3e5ab9cb79cf9bd57ca15b11587
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-02-12 19:19:35 +01:00
Samuli Piippo
fe84957439 Change meta-boot2qt platform configs to Module only
This is a workaround for Coin issues where it combines both
Legacy instruction platforms from default.yaml and module_config.yaml
platforms from meta-boot2qt.yaml.

Task-number: COIN-508
Change-Id: I970400cd7d326788ec274c38789d61b4a524989b
Reviewed-by: Toni Saario <toni.saario@qt.io>
Reviewed-by: Aapo Keskimolo <aapo.keskimolo@qt.io>
2020-02-12 16:38:39 +00:00
Alexandru Croitor
431eb132a9 Provision Ninja for macOS 10.14 template
Change-Id: I62ad67561de3459fe1a09e645dcc9b40dd2dbb1d
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-02-12 13:11:03 +01:00
Alexandru Croitor
cd2ac9df6b Fix template name for CMake macOS builds
Change-Id: I5709145b8a1642e27b1de14c37a6d8ccee89107a
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-02-12 13:10:43 +01:00
Simon Hausmann
c802afc31b Remove ICC also for cmake
Switch the static build to GCC instead.

Amends commit 4c55e1cfa7

Change-Id: Id752dcd86c2bda8811427a7bf7b756eee7247992
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-02-12 08:50:34 +01:00
Simon Hausmann
68419bc36c Switch the cmake build also to macOS 10.14
We've switched the qmake configs as well, so cmake should follow.

Change-Id: Ib0cf4b3ade56714b4437afd5ce301204e5b31d24
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-02-12 07:47:14 +00:00
Alexandru Croitor
04e09db02a Enable CMake Coin configurations
This change enables building a few CMake configurations of qtbase in
Coin.
It should only be merged once qtbase wip/cmake -> dev change is
merged.

Change-Id: I7542af91c7f0004219d0155cad485582883e8e95
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-02-11 16:11:42 +01:00
Samuli Piippo
d4eac1cc92 Don't use legacy instructions for meta-boot2qt project
meta-boot2qt is already using module_config.yaml to define
the CI instructions.

Change-Id: I67e4f8005dce55aea0143236c4aad0bbedaa8def
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-02-11 14:36:47 +02:00
Dimitrios Apostolou
eee60c0824 Fix openssl build in SLES-15
Upstream changes of binutils or elfutils broke the build. Error was:

/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: /usr/lib64/libc_nonshared.a(elf-init.oS): unable to initialize decompress status for section .debug_info
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: /usr/lib64/libc_nonshared.a: error adding symbols: file format not recognized
collect2: error: ld returned 1 exit status

Task-number: QTQAINFRA-3527.
Change-Id: I50b677598b4415a281abbf0ddb2db39613646b36
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2020-02-05 22:25:34 +01:00
Simon Hausmann
2a64418358 Transition to macOS 10.14 step 1
We want to run all tests on macOS 10.14, which requires some more fixes
in qtquickcontrols2. That however isn't passing due to unrelated changes
in base/declarative blocking us from moving forward. So to decouple the
two, this change limits macOS tests to qtbase and declarative but on
10.14. This will allow us to switch qtbase over to C++17 and once we've
got qqc2 updated in qt5.git, we can globally re-enable tests for 10.14.

Task-number: QTQAINFRA-3108
Change-Id: I0f835a1da87187c6bb69e3d4019196e1411095fd
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-02-04 16:54:05 +01:00
Alexandru Croitor
25e0073720 Use legacy instructions when building all qmake configurations
This change is preparation for merging qtbase wip/cmake -> dev,
because that will bring in the new yaml instructions on how
to build the CMake configurations, which means that legacy
instructions provided by Coin itself need to be used for all
the existing qmake configurations.

Change-Id: I7005835719b83b7186138292a2e1baf4d2a4a3e0
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2020-02-03 14:15:33 +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
Simon Hausmann
486139715b Disable warnings-are-errors for the doc build
We're not really interested in catching the C++ warnings at this late
stage (Qt5 build), especially not for building documentation.

Change-Id: I48c621ce6de199de61fab8de6517f4c0b099bf11
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-01-31 12:38:45 +01:00
Lars Knoll
a23bc16dcc Remove wasm on windows for now
The compiler fails to pass the c++14 configure test.

Change-Id: I2253d1654eda19351154467cd3b076ba726c10d7
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-01-31 12:38:45 +01:00
Jani Heikkinen
89fceff6a4 Add '-qt-zlib' as a configure argument for windows builds
This is needed to use the bundled zlib in windows builds. In Qt 5.14.0
windows packages were using bundled one but in Qt 5.14.1 not anymore. So
this change is to restore same behavior than in Qt 5.14.0.

Linux and macOS packages seems to use system zlib also in 5.14.0; that's
why no changes needed there

Task-number: QTBUG-81724
Change-Id: Ife531d96c8438491e5d7b1f97f5338c4627be7e8
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-01-31 05:43:18 +00: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
Liang Qi
eee24c15d7 Merge remote-tracking branch 'origin/5.14.1' into 5.14
Change-Id: Ie43351d7e64b121137e9a923c79a0f26ae7e086a
2020-01-28 13:14:41 +01:00
Lars Knoll
4c55e1cfa7 Remove ICC from our list of tested platforms for now
ICC 18 doesn't support C++17, so let's remove it.

Change-Id: If87010fe73111324f78ccd26f25e55ec7e6afbca
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-01-28 12:23:36 +01:00
Lars Knoll
4e4e7a9679 Update macOS WebAssembly and Android builds to use 10.14
macOS 10.13 doesn't support C++17, and will get removed soon.

Change-Id: I5ed50df99d8582349adfd04e59ce89dd49701f76
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-01-27 15:41:37 +01:00
Lars Knoll
b2f62bb906 Remove QNX configs from CI
Those configurations don't support a C++17 compliant compiler.

Fixes: QTBUG-81576
Change-Id: I87499e21e7532856fdd4c41b1e162e3566d5f130
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
2020-01-27 15:41:26 +01:00
Simon Hausmann
0363e5f7de Run tests on macOS 10.14
Also bump qtbase to pull in the latest fixes for 10.14 testing.

Task-number: QTQAINFRA-3108
Change-Id: I7a198c74a4f7e537d95053bfad25a905029aa2db
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-01-27 15:15:40 +01:00
Heikki Halmet
d42e5bda88 Provisioning: Install needed packages for Python build
For Conan python needs to be built from sources.

Task-number: QTBUG-81014
Change-Id: I8d14d65ce2f1c57a7fa370b93aa61bc156d617ca
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
2020-01-23 08:59:12 +02:00
Simon Hausmann
0b32ba9924 Re-remove WinRT configurations
They were originally removed in commit
5677a43a25 but re-added through a merge.

Change-Id: I821fb955745dfc5e982cdbf2264af3345ec03252
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-01-22 15:39:32 +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
Kai Koehne
a0e5b4b466 MinGW: Do not ship host tools with debug information
Follow the approach for Linux (see 269387), and do set the -s ln flag to
make sure the linker does not include debug information in host tools.

From ld documentation:
  -s: Omit all symbol information from the output file.

Fixes: QTBUG-81301
Change-Id: I21f828adec4a93855331d8b833cfa708b73baafd
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-01-17 12:32:09 +00: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