From 1919b8d20cf8b6207a87fd5bf38f37d27d371bd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simo=20F=C3=A4lt?= Date: Mon, 11 Jun 2018 09:00:46 +0300 Subject: Disable CI in rhel 6.6 The rhel 6.6 is missing libclang in 5.11.0 Change-Id: Ieff935fad51595c56d413528c62a18efb099b739 Reviewed-by: Alexandru Croitor --- build_scripts/utils.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build_scripts/utils.py b/build_scripts/utils.py index f535db636..6c3b5d0fc 100644 --- a/build_scripts/utils.py +++ b/build_scripts/utils.py @@ -1121,7 +1121,8 @@ def run_instruction(instruction, error): def acceptCITestConfiguration(hostOS, hostOSVer, targetArch, compiler): # Disable unsupported CI configs for now # NOTE: String must match with QT CI's storagesturct thrift - if hostOSVer in ["WinRT_10"]: + # QT 5.11.0 is missing libclang from RHEL 6.6 + if hostOSVer in ["WinRT_10", "RHEL_6_6"]: print("Disabled " + hostOSVer + " from Coin configuration") return False # With 5.11 CI will create two sets of release binaries, one with msvc 2015 and one with msvc 2017 -- cgit v1.2.3 From 14a583c7cc2db606bc2301721cae63f07273e630 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simo=20F=C3=A4lt?= Date: Mon, 11 Jun 2018 12:13:51 +0300 Subject: Fix Win CI node to allow 32 bit wheels We are missing the required provisioning script from Qt5 5.11.0 branch, so we are installing the 32 bit Python environments ourselves. Change-Id: Icd95a4708bc9e5693bb21b31c0e9d30d6fd632e6 Reviewed-by: Christian Tismer --- build_scripts/utils.py | 34 ++++++++++++++++++++++++++++++++++ coin_build_instructions.py | 5 +++++ coin_test_instructions.py | 5 +++++ 3 files changed, 44 insertions(+) diff --git a/build_scripts/utils.py b/build_scripts/utils.py index 6c3b5d0fc..c0d189d2d 100644 --- a/build_scripts/utils.py +++ b/build_scripts/utils.py @@ -1131,3 +1131,37 @@ def acceptCITestConfiguration(hostOS, hostOSVer, targetArch, compiler): print("Disabled " + compiler + " to " + targetArch + " from Coin configuration") return False return True + +def runCIProvisioning(): + # we need to make sure that we have 32 bit python + if os.environ.get('PYTHON3_32_PATH') is not None: + return + targetDir = os.path.join(os.environ.get('USERPROFILE'), "downloads") + python3_32Path = "C:\\Python36_32" + python2_32Path = "C:\\Python27_32" + provP3Script = ("http://code.qt.io/cgit/qt/qt5.git/plain/coin/provisioning/common/windows/" + "python3.ps1?id=6c295ac7f00f3352a3242b21c90bf3ad1a9fc86a") + provP2Script = ("http://code.qt.io/cgit/qt/qt5.git/plain/coin/provisioning/common/windows/" + "python.ps1?id=6c295ac7f00f3352a3242b21c90bf3ad1a9fc86a") + helperScript = ("http://code.qt.io/cgit/qt/qt5.git/plain/coin/provisioning/common/windows/" + "helpers.ps1?id=6c295ac7f00f3352a3242b21c90bf3ad1a9fc86a") + ps = ["powershell.exe", "Invoke-WebRequest", "-UseBasicParsing", provP3Script, "-OutFile", + os.path.join(targetDir, "python3.ps1")] + run_instruction(ps, "Unable to download python provisioning script") + ps = ["powershell.exe", "Invoke-WebRequest", "-UseBasicParsing", provP2Script, "-OutFile", + os.path.join(targetDir, "python2.ps1")] + run_instruction(ps, "Unable to download python provisioning script") + ps = ["powershell.exe", "Invoke-WebRequest", "-UseBasicParsing", helperScript, "-OutFile", + os.path.join(targetDir, "helpers.ps1")] + run_instruction(ps, "Unable to download helpers provisioning script") + ps = ["powershell.exe", "-ExecutionPolicy", "RemoteSigned", "-NonInteractive", "-File", + os.path.join(targetDir, "python3.ps1"), "32", python3_32Path] + run_instruction(ps, "Unable to install python3 32 bit") + ps = ["powershell.exe", "-ExecutionPolicy", "RemoteSigned", "-NonInteractive", "-File", + os.path.join(targetDir, "python2.ps1"), "32", python2_32Path] + run_instruction(ps, "Unable to install python2 32 bit") + # The env was set by powershell, so we are missing the env variables + os.environ["PYTHON3_32_PATH"] = python3_32Path + os.environ["PYTHON2_32_PATH"] = python2_32Path + os.environ["PIP3_32_PATH"] = python3_32Path + "\\Scripts" + os.environ["PIP2_32_PATH"] = python2_32Path + "\\Scripts" diff --git a/coin_build_instructions.py b/coin_build_instructions.py index 65e198be4..df4bc9b67 100644 --- a/coin_build_instructions.py +++ b/coin_build_instructions.py @@ -44,6 +44,7 @@ from build_scripts.utils import run_instruction from build_scripts.utils import rmtree from build_scripts.utils import get_python_dict from build_scripts.utils import acceptCITestConfiguration +from build_scripts.utils import runCIProvisioning import os # Values must match COIN thrift @@ -125,6 +126,10 @@ def run_build_instructions(): if not acceptCITestConfiguration(CI_HOST_OS, CI_HOST_OS_VER, CI_TARGET_ARCH, CI_COMPILER): exit() + # Make sure we have 32 bit python on 64 bit host + # FIXME this is hack for 5.11.0 + if CI_HOST_OS == "Windows" and CI_HOST_ARCH == "X86_64" and CI_TARGET_ARCH == "X86": + runCIProvisioning() # Uses default python, hopefully we have python2 installed on all hosts # Skip building using Python 2 on Windows, because of different MSVC C runtimes (VS2008 vs VS2015+) if CI_HOST_OS != "Windows": diff --git a/coin_test_instructions.py b/coin_test_instructions.py index bd65b5b7e..28b812622 100644 --- a/coin_test_instructions.py +++ b/coin_test_instructions.py @@ -43,6 +43,7 @@ from build_scripts.utils import get_qtci_virtualEnv from build_scripts.utils import run_instruction from build_scripts.utils import rmtree from build_scripts.utils import acceptCITestConfiguration +from build_scripts.utils import runCIProvisioning import os # Values must match COIN thrift @@ -76,6 +77,10 @@ def run_test_instructions(): if not acceptCITestConfiguration(CI_HOST_OS, CI_HOST_OS_VER, CI_TARGET_ARCH, CI_COMPILER): exit() + # Make sure we have 32 bit python on 64 bit host + # FIXME this is hack for 5.11.0 + if CI_HOST_OS == "Windows" and CI_HOST_ARCH == "X86_64" and CI_TARGET_ARCH == "X86": + runCIProvisioning() os.chdir(CI_ENV_AGENT_DIR) testRun = 0 # We didn't build for Python 2 in win -- cgit v1.2.3