Commit Graph

48 Commits

Author SHA1 Message Date
Akseli Salovaara
8de4f42cb6 Provisioning: Upgrade conan version from 0.16.0 to 0.20.2
Conan provisioning fails on private Coin instance due to error message
Could not find a version that satisfies the requirement conan==0.16.0
(from versions: 0.15.0, 0.16.1, 0.17.2, 0.18.1, 0.19.3, 0.20.0, 0.20.1,
0.20.2)
No matching distribution found for conan==0.16.0

Upgrading to 0.16.1 resulted warning
"Your conan's client version is deprecated
for the current remote (v0.20.2). Upgrade conan client."
and provisioning failed with "ERROR: All remotes failed"

After upgrade to 0.20.2 conan provisioning script is working again.

Change-Id: I2fe9d65460954c929abb4822d206dde42909d5b3
Reviewed-by: Konstantin Tokarev <annulen@yandex.ru>
2017-03-03 12:26:24 +00:00
Liang Qi
848c4ac3f8 Merge remote-tracking branch 'origin/5.6' into 5.8
Change-Id: I0203dea8e441e58400d6c44697588a44b97a522b
2017-02-17 15:22:56 +01:00
Heikki Halmet
ad97fd589f Provisioning: Visual Studio 2015 with update 3
Common install script for Visual Studio installation and
updates. Latest Visual Studio 2015 update is required
for releases

Change-Id: I5b41625ca7f161b4ba2d417797f8839ef175cdbc
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-02-07 19:25:11 +00:00
Konstantin Tokarev
25160f24b6 Upgrade CMake to 3.6.2
QtWebKit requires CMake >= 2.8.12, while only 2.8.11 is available on
Windows 10 machines.

Task-number: QTQAINFRA-996
Change-Id: I734be4cc36f64dd5aeb243b0fbe4395c75c523b3
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
(cherry picked from commit 77eeee64a4)
2017-02-07 19:25:07 +00:00
Simon Hausmann
d641d6546b Merge remote-tracking branch 'origin/5.6' into 5.8
Conflicts:
	coin/provisioning/qtci-linux-RHEL-6.6-x86_64/android_linux.sh

Change-Id: I10fcdfc0af68741d931f4732783bafdad2fffc4a
2017-02-03 09:15:43 +01:00
Heikki Halmet
6afffd6985 Provision: Script to print sw versions to provision log
This script is the last script that is run by provisioning. It will
print all storaged sw information to provision log

Change-Id: I2c76d5f7cccf9c116cb660ffcb67d3bece473da8
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2017-02-03 05:46:57 +00:00
Joerg Bornemann
32b5e271a8 Update jom to 1.1.2
The most important changes that affect the CI are:
  - Fixed bogus path in error message for failed targets.
  - Fixed error "JobClient destroyed while still acquiring."
    that could be yielded for failed builds.
  - Fixed /k option (QTCREATORBUG-17131).
  - Added the special .NOTPARALLEL target that disables parallel
    build for the containing makefile. (This one is needed to
    build QtWebEngine in debug-and-release properly.)
  - Introduced the JOMFLAGS environment variable.
    This is a MAKEFLAGS pendant. JOMFLAGS is useful to set up
    separate flags for nmake and jom.

Change-Id: Icb2462d06b000a3fe29e1e9290b294cb1e900409
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-02-03 05:46:51 +00:00
Heikki Halmet
0c8536fc0a Provision: Script for linux to remove preinstalled software
Script to remove tier1's preinstalled software. Script itself includes
all information about the software that needs to be removed from tier2
before provision starts to run installations. When this script is run
for certain platform that platform needs to provision all removed
software back to tier2 template. So user needs to make sure that all
needed provision script are available when calling this removal-script.
Goal is to have vanilla os when provision don't need to remove any
software before installations. When this goal is reached this script
and script calls can be removed from provision.

Change-Id: I048909800807fabb1dc599e768a90e7457fbc2cf
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-02-03 05:46:33 +00:00
Kari Oikarinen
321d5f1488 Provision libusb-1.0 for Windows
It's needed by tqtc-boot2qt/qdb.

Change-Id: Id5b8b18a2090c040c3eec1bd3c4c521456245381
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2017-01-31 18:33:44 +00:00
Kari Oikarinen
db9682888c Add PS provisioning helper for 7-Zip files
Change-Id: Ice10e54137da8a0d2372019a195a63121fd00a8a
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2017-01-31 18:33:41 +00:00
Liang Qi
9be869ba48 Merge remote-tracking branch 'origin/5.6' into 5.8
Task-number: QTBUG-58371
Change-Id: Ic3ec10a04ec9fcfea38324f6052b2d082c6ece58
2017-01-28 12:21:28 +01:00
Heikki Halmet
d4681ee690 Android sdk and ndk to provisioning for Windows 7
Installs latest Android sdk and ndk.
It also runs update for SDK API level 18, latest SDK- and platform-
tools and build-tools version 23.0.3.

Task-number: QTBUG-58369
Change-Id: Ib42f5149243fc5d262f6542e26726d1c8cbb2e8c
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-01-28 03:57:41 +00:00
Heikki Halmet
eeea4e5c3a Add Android NDK/SDK to provision for macOS 10.10 and 10.11
Install latest Android sdk and ndk.
It also runs update for SDK API level 18

Task-number: QTBUG-58370
Change-Id: I1bf8cb42dd3e753be27fa9fcd2c1ac8ccbdb87c3
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-01-24 19:19:24 +00:00
Tony Sarajärvi
8266919b6e Add provision helper file to install compressed packages
Change-Id: I6a7e1af7c91bd11a0cc6379f8bb7762acf42eae5
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2017-01-11 10:05:50 +00:00
Tony Sarajarvi
2059ce3d2d Add DownloadURL.sh provisioning helper script
Change-Id: I64bef8470555e33772b72847aa76e0e9b4720696
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2017-01-11 10:05:40 +00:00
Tony Sarajarvi
da48107b08 Add provisioning try-catch helper script for bash
Change-Id: Ia61e503ed5315546421fdeb2f4b8b1be37dab3e9
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2017-01-11 10:05:21 +00:00
Tony Sarajärvi
17c97ea79a Add provision helper file to install compressed packages
Change-Id: I6a7e1af7c91bd11a0cc6379f8bb7762acf42eae5
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2017-01-08 16:28:50 +00:00
Tony Sarajarvi
2b2188cc77 Add DownloadURL.sh provisioning helper script
Change-Id: I64bef8470555e33772b72847aa76e0e9b4720696
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2017-01-08 16:28:39 +00:00
Tony Sarajarvi
c5e6abcafa Add provisioning try-catch helper script for bash
Change-Id: Ia61e503ed5315546421fdeb2f4b8b1be37dab3e9
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2017-01-08 16:28:32 +00:00
Simon Hausmann
591c6d0446 Merge remote-tracking branch 'origin/5.6' into 5.7
Conflicts:
	coin/provisioning/common/02-python.ps1

Change-Id: I6b5f2c464cc350798c7c73fba9e79a3f4f534586
2016-12-21 21:38:29 +01:00
Simo Fält
ff1ad70a19 Provision: Install pyside python dependencies to Windows
To test successfully pyside dependencies with Coin, we need
python virtual env.

Change-Id: I59c620b7da9c78d2b5c55e233d75597b747a8e84
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-12-19 21:39:35 +00:00
Konstantin Tokarev
860b38110b Copy conanfile to conanbuildinfos directory
Conanfile is required for running "conan imports" as a part of "make install"
procedure, however its original location is unknown to build system of
module.

Conanfile is copied with its conventional name "conanfile.txt" to avoid
tying module build system to more qt5.git layout peculiarities. In
future we may want to have several conanfiles in one provisioning dir,
like qtwebkit-mingw.txt and qtwebkit-msvc.txt.

Also simplified syntax of PowerShell variables interpolation, $() is needed
only for interpolating expressions.

Task-number: QTQAINFRA-998
Change-Id: I6904e80f4f85bb5269b0830272c6eaa2c8100789
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-11-30 15:31:55 +00:00
Konstantin Tokarev
7dc66c9528 Updated conan to 0.16.0
* Use --no-imports when installing packages, imports will be performed
on "make install" step with new "conan imports" command.
* Add txt generator to all conanfiles because it will be needed for
"conan imports".

Change-Id: Ie5e7ac6bfbf14dfa32ce82136b6be5e39476e393
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-11-30 15:31:52 +00:00
Konstantin Tokarev
fa00780be3 When installing Python ensure that pip is installed too
If Python is not deinstalled cleanly (01-windows_removethemall.ps1
just erases installation directory) pip is not bootstrapped by new
installation. Fix it by running ensurepip module.

Change-Id: I3a7ed87eed30118876d7022eed94b8a571677529
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-11-18 22:19:26 +00:00
Konstantin Tokarev
aafc3f8644 Use full paths for invoking stuff from Python27\Scripts
Change-Id: I52094cc4b27b9e3a6fe3dd12c504777b8bb7bc75
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-11-18 22:19:23 +00:00
Konstantin Tokarev
48507e9e3c Provisioning should fail in case of conan errors
Change-Id: I54ee86f5cf0f39cd7bafe71682b93a2a3c8fce5c
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-11-18 22:19:18 +00:00
Konstantin Tokarev
f8e075a679 Install conan from pip instead of exe
This allows us to get it working on 32-bit Windows.

Also renamed conan.ps1 and python.ps1 to get proper provisioning order.

Change-Id: I2f21db7dd0edbacb4e44024d1c70b315fba55801
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-11-16 21:25:32 +00:00
Konstantin Tokarev
f910b2bbf9 Added MinGW support to conan.ps1, and conanfile for MinGW on Win 7
Change-Id: I0442437b33afd0195745a03301440e5eea6d4897
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-11-16 21:25:26 +00:00
Konstantin Tokarev
19c10b941c Verify conan manifests when installing packages
This check allows us to ensure authenticity of installed files.

Manifests are sorted to minimize diffs in future updates.

Manifests lack trailing newline, because adding it would break manifest
parser of conan 0.15.0.

Task-number: QTQAINFRA-998
Change-Id: I6db75a78ce552da29d63cc4ac03726df326b7be2
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-11-16 21:25:21 +00:00
Konstantin Tokarev
b1964fc7e5 Upgraded conan to 0.15.0
Change-Id: I9219094dfffb4edd90fcab00fb28c8b7658cfb42
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-11-09 18:33:39 +00:00
Konstantin Tokarev
5b0a9d688b Log arguments passed to Start-Process in Run-Conan-Install
Task-number: QTQAINFRA-998
Change-Id: Ic27762a0403132cb8c2dcdb9f5a83ae9292e2d2a
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-10-05 21:25:43 +00:00
Konstantin Tokarev
cf257c2869 Pass compiler.runtime setting to conan
When MSVC is not autodected, necessary setting compiler.runtime has
undefined value, breaking installation of packages. This setting is not
supported by MinGW, so it should be optional.

Task-number: QTQAINFRA-998
Change-Id: Ia1a09eee14275314c160c7c45cd6ab276367dcdb
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-10-05 21:25:35 +00:00
Konstantin Tokarev
433f6dddb5 Execute Conan installer synchronously
PowerShell runs .exe's asynchronously by default, unlike all other commands.
This behavior creates race condition when conanfile processing starts before
conan installation is completed. Addition of "| Out-Null" to installer
invocation makes it synchronous.

Task-number: QTQAINFRA-998
Change-Id: Ic423514f15886e6ad9eb5c9422dd5382a3362380
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-10-05 21:25:28 +00:00
Liang Qi
eb78767825 Merge remote-tracking branch 'origin/5.6' into 5.7
Conflicts:
	coin/provisioning/common/helpers.ps1

Change-Id: I9bf6180f7d2ee1ff1c7722eed3c21d416ba7410e
2016-10-04 11:10:59 +02:00
Konstantin Tokarev
680c596ca0 Revert "Changed slash direction in CI_CONAN_BUILDINFO_DIR"
This actually breaks conan integration in Coin instead of fixing it.

This reverts commit b0b0c9c471.

Change-Id: Ifbdc9dbfd89d5b670221463e6d303691ad45936d
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-10-01 06:35:46 +00:00
Heikki Halmet
c9d71e9eeb Python to provisioning for Windows
Installs Python version 2.7.10.
Python is required for building Qt 5 from source. More
specifically qtdeclarative and qtwebkit require it.

Change-Id: I63c8f3294a8a4799df5e52fbd41a36db8686950e
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2016-09-30 08:31:18 +00:00
Konstantin Tokarev
77eeee64a4 Upgrade CMake to 3.6.2
QtWebKit requires CMake >= 2.8.12, while only 2.8.11 is available on
Windows 10 machines.

Task-number: QTQAINFRA-996
Change-Id: I734be4cc36f64dd5aeb243b0fbe4395c75c523b3
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-09-30 07:20:41 +00:00
Konstantin Tokarev
b0b0c9c471 Changed slash direction in CI_CONAN_BUILDINFO_DIR
Change-Id: I13bea231301f12a3992abc11119fc34543e75ab2
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-09-26 13:51:15 +00:00
Konstantin Tokarev
23d1112839 Fixed value of CI_CONAN_BUILDINFO_DIR variable when provisioning Windows
Change-Id: I841783122edf82739826cc0a7672d8c809870e97
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-09-18 05:57:54 +00:00
Konstantin Tokarev
e1bfa77391 Do not use qmake and cmake generator automatically for each conanfile
Keep conanfiles self-contained. "txt" generator is not going to be used
by coin internally, drop it.

Task-number: QTQAINFRA-998
Change-Id: I80ffb7342e07d8ef883bed6de77ac9646479f145
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-09-17 11:06:44 +00:00
Konstantin Tokarev
78a764ee65 Install conan dependencies if there is conanfile.txt for module
Change-Id: Ie331331f6383444c4329e7a57cb8a8b25e58bd2f
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-09-14 22:31:17 +00:00
Konstantin Tokarev
99ff42545f Install Conan on Win10
QtWebKit will use Conan to install 3rd party dependencies like ICU.

Task-number: QTQAINFRA-997
Change-Id: I4b9bfeb86b28abfdef52afcf249428c3ec41f32a
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-09-14 22:31:01 +00:00
Konstantin Tokarev
90f5a25c66 Update Ruby on Win10
QtWebKit requires newer Ruby than version installed on Windows 10 builders.

Task-number: QTQAINFRA-997
Change-Id: Id4f917a824daaab4aeb1445a3a16906663208b6d
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-09-14 22:30:52 +00:00
Frederik Gladhorn
8ddc3c1254 Add script to patch QNX SDK headers for Qt atomics
Applies http://www.qnx.com/download/feature.html?programid=27555
to the QNX SDK on our continuous integration machines.

Change-Id: I6d24b5024b3e5981c30bbf9a26a1bb4dfaca4e80
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
2016-06-16 08:40:11 +00:00
Jędrzej Nowacki
928c491397 Export CI_JOM_PATH variable on all templates with jom
That is needed to change provisioning way in Coin, as currently it
depends on variables hard-coded in Coin agent.

Change-Id: I0bc5c76717e994824b85a4353a7218db4b648344
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2016-05-30 14:08:24 +00:00
Jędrzej Nowacki
a97874523f Export CI_ICU_PATH variables on all windows templates
That is needed to change provisioning way in Coin, as currently it
depends on variables hard-coded in Coin agent.

Change-Id: I15068bec57dd9d67be05ef753d566b456fb8a2fc
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2016-05-30 14:08:22 +00:00
Jędrzej Nowacki
2be9656332 Coin provisioning: overwrite files while unzipping
Change-Id: I5cf59322f5a34cffe9fe8668755800bccb8cc13a
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2016-05-30 14:08:20 +00:00
Frederik Gladhorn
54f1bfd10c Add script to install jom through powershell
Change-Id: I3f12aa0dd54f99fafdffb53796e54e7b127c3c8c
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
2016-04-28 07:54:48 +00:00