aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--build_scripts/utils.py34
-rw-r--r--coin_build_instructions.py5
-rw-r--r--coin_test_instructions.py5
3 files changed, 44 insertions, 0 deletions
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