Commit Graph

37 Commits

Author SHA1 Message Date
Simo Fält
92d1bdcb43 Provisioning: Fix shasum path
Commit c48355ebb5 changed
the path of shasum, which was not intended. While the
DownloadURL.sh utility is used by rhel in addition to
macOS we can't rely on /usr/bin/shasum but we have to
use the one found from PATH.

Change-Id: I67bb37dcb72ba3d8d1f279646e44228b27137ec9
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-09-08 04:34:41 +00:00
Simo Fält
c48355ebb5 Provisioning: Fix DownloadURL utility's shasum check
MacOS 10.10 has older shasum tool, which does not support oneliner
verification.

Change-Id: If00b846d5772aa1991960675d022249d63e7bd77
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-09-05 11:36:43 +00:00
Tony Sarajärvi
a7b1b00350 Provisioning: Hide powershell progress bar for performance
Change-Id: I74abdcc2e7d2dccf4f85cd64fe5fb4b56e54d613
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2017-09-04 12:12:17 +00:00
Joni Jäntti
dbf737a5c0 Fix Add-Path helper function and start using it in scripts
This function was broken and only added the latest addition to the
actual PATH.

Change-Id: Ida352c7b605c1b9748bb98e4f51ce68a765c3ce3
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-09-04 12:11:17 +00:00
Tony Sarajärvi
3ca7658781 Provision vanilla Windows 8.1 x86 and use it
Replaces existing Windows 8 x86 builds with
a vanilla tier 1 image that gets all needed
software provisioned except for VS2013 that is
pre-installed.
Also modifies existing provisioning scripts
under common to support this 32bit OS.

Task-number: QTQAINFRA-1383
Change-Id: I495cb2d78b4d2d8b2abb9af1254fff0a78a570d9
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2017-09-01 13:02:12 +00:00
Joni Jäntti
05dd83c73a provisioning: windows: ICU
Fixed ICU script to actually install ICU instead of just setting the
environment variables. It is required to build qtwebkit.

Change-Id: I8881f9c11599d99b4d400595c9b929cf6f37088a
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2017-09-01 08:05:57 +00:00
Simo Fält
a99d3432f7 Install python3 on all platforms
Python3 is required in 5.6 by pyside-setup.

Task-number: QTAUTO-345
Change-Id: If11ca425fa08cce8a518710ded0a6ec58159343d
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
(cherry picked from commit a5f3f8ed48)
(cherry picked from commit a765838889)
(cherry picked from commit 1859f9b26c)
2017-08-30 19:57:54 +00:00
Simon Hausmann
1bd2b2acfa Fix code duplication for cmake installation on Linux
Share the code for installing cmake on Linux.

Change-Id: I535f2696151ea4db26dc7194a1fe7016799ed0e2
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-08-30 17:16:59 +00:00
Joni Jäntti
c7a9bb92e1 Fix adding to path lines for Windows provisioning scripts
Currently the path addition command will forget the previous addition
when adding a new string. This hasn't been found out because python
was the only script using this command. Now we also need to set the
path for ruby, so the python string is left out.

Change-Id: I39721d78111550189e52a9f095030033f9660c0a
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
Reviewed-by: Joni Jäntti <joni.jantti@qt.io>
2017-08-30 17:16:56 +00:00
Tony Sarajärvi
835ef953f0 Provisioning: Fine tune cmake provisioning script
Add version printing and move version strings to variables for
easier reuse.

Change-Id: I5372872bf455609dfb7cc7bbcf7a110cd71933fb
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2017-08-30 17:16:52 +00:00
Heikki Halmet
5df417aeb9 Provisioning: Disable system updates
This change will disable system updates from App Store to prevent
unnecessary network load

Change-Id: I7915ec6ffce681a850abef59d58f953effd6deb0
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-08-16 06:03:50 +00:00
Joni Jäntti
bd3ddeddd2 Make CI use a new win 8.1 provisioning instead of win 8
Added all the provisioning scripts that install required
programs and make changes to certain settings. These are needed to
build qt5. This replaces the old Windows 8 template.

Made all the Windows platforms use the scripts under
provisioning/common/ instead of duplicate files.

Task-number: QTQAINFRA-1357
Change-Id: Ic3f0b50079b212437fff711379f243753ab84872
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-08-11 16:49:10 +00:00
Tony Sarajärvi
043e54c7c6 Update provisioning scripts with new intra.qt.io address
Change-Id: I9b4c5e9d0fe8e0e84596ad9086f563d11e97930b
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-08-08 20:05:08 +00:00
Simon Hausmann
2c4b06a13d Centralize Mesa LLVMPipe installation on Windows
Install the DLL for general availability on all Windows systems. Due to
its distinct name it will not be picked up by anyone unless Qt
explicitly selects it.

This gives us the ability to choose the GLES backend to use in Qt.

Change-Id: Ie36f202ead7080a8f7690734d305bd27f0c9f56b
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2017-06-20 04:44:49 +00:00
Simon Hausmann
35057fe4b2 Clean up windows cleanup script
* There's no need to have a numbered prefix in the common directory
* Instead of deleting directories trees worth several gigabytes of data,
  just rename the directory. The underlying storage system is
  copy-on-write and so deleting the files produces more data than just
  moving the directory out of the way. Deleting the files does not
  actually free up any physical disk space.

Change-Id: I6de02d56f3485651726ea11183ce7571d5b61520
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2017-06-06 20:15:40 +00:00
Simon Hausmann
038d263081 Speed up Windows installation of cmake, python, opengl, mysys and Android
We're better off copying off the internal server using CIFS than using
PowerShell's incredibly slow Invoke-WebRequest.

Change-Id: Ic39cf08be70335e9309575d543155bffaceb0db0
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2017-06-06 20:15:34 +00:00
Simon Hausmann
999b5f5dd7 Speed up Visual Studio update installation
We have a prepared package on the internal server that has everything
necessary included. This way we do not have to download the actual
update content from the internet.

Change-Id: Ie4cb3116a4f91a47df5be1c2b2e473d7ddec9a78
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Reviewed-by: Aapo Keskimolo <aapo.keskimolo@qt.io>
2017-06-06 20:15:31 +00:00
Simon Hausmann
ce47238ed9 Improve Postgresql installation on Windows
Similar to the mysql change (parent commit) it's faster to rename any
older artifacts and install only what we need. This also generalizes the
zip archive extraction code for "dev" packages.

Change-Id: I3ad1f23efaed80fab3e0778a3e8c46317138f1ad
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2017-06-06 20:15:28 +00:00
Tony Sarajärvi
b8211774d9 Fix provision help script DownloadURL.sh
The script neglected the result of the sha1 after download.
Even with a failure it exited nicely.

Change-Id: I6c0e25c2b764a0ad54acbe317eddf395a56d7f1c
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2017-04-10 17:27:24 +00:00
Simo Fält
8b59bbc2a4 Coin provisioning: Use arg instead of autodetecting architecture
When provisioning windows machine, it seems that detecting architecture
by checking [System.Environment]::Is64BitProcess doesn't work properly.
Instead pass 32 or 64 as an argument when calling powershell script.

Change-Id: I890ad141b8ef194275848d0e656431753463cd2b
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2017-03-30 15:14:04 +00:00
Heikki Halmet
80b739b1e8 Provisioning: Move Visual Studio installation to pre-provisioning
Visual Studios will be pre-provisioned to tier1/vanilla os when visual
studio update is needed. Even if using pre-configured offline
installer with specific workload and components the installation is
still taking too long. This way we'll reduce provisioning time
significantly

Change-Id: I1f831aef648716dc640ce9cbfb4e63aa54e7afd0
Reviewed-by: Akseli Salovaara <akseli.salovaara@qt.io>
2017-03-22 09:31:06 +00: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
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
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
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
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
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