aboutsummaryrefslogtreecommitdiffstats
path: root/coin/instructions
diff options
context:
space:
mode:
Diffstat (limited to 'coin/instructions')
-rw-r--r--coin/instructions/common_environment.yaml116
-rw-r--r--coin/instructions/execute_build_instructions.yaml84
-rw-r--r--coin/instructions/execute_test_instructions.yaml58
-rw-r--r--coin/instructions/find_path_to_msvc_compiler.yaml7
4 files changed, 252 insertions, 13 deletions
diff --git a/coin/instructions/common_environment.yaml b/coin/instructions/common_environment.yaml
index 828891674..441a01803 100644
--- a/coin/instructions/common_environment.yaml
+++ b/coin/instructions/common_environment.yaml
@@ -4,6 +4,25 @@ instructions:
variableName: QTEST_ENVIRONMENT
variableValue: "ci"
- type: EnvironmentVariable
+ variableName: PYSIDE_VIRTUALENV
+ variableValue: "{{.AgentWorkingDir}}\\pyside\\pyside-setup\\env"
+ enable_if:
+ condition: property
+ property: host.os
+ equals_value: Windows
+ - type: EnvironmentVariable
+ variableName: PYSIDE_VIRTUALENV
+ variableValue: "{{.AgentWorkingDir}}/pyside/pyside-setup/env"
+ enable_if:
+ condition: or
+ conditions:
+ - condition: property
+ property: host.os
+ equals_value: MacOS
+ - condition: property
+ property: host.os
+ equals_value: Linux
+ - type: EnvironmentVariable
variableName: TARGET_ARCHITECTURE
variableValue: amd64
enable_if:
@@ -16,6 +35,18 @@ instructions:
property: host.os
equals_value: Windows
- type: EnvironmentVariable
+ variableName: PYTHON3_PATH
+ variableValue: "{{ index .Env \"PYTHON3.10.0-64_PATH\"}}"
+ enable_if:
+ condition: and
+ conditions:
+ - condition: property
+ property: host.osVersion
+ equals_value: Windows_11_22H2
+ - condition: property
+ property: host.os
+ equals_value: Windows
+ - type: EnvironmentVariable
variableName: TARGET_ARCHITECTURE
variableValue: amd64_x86
enable_if:
@@ -49,6 +80,13 @@ instructions:
property: features
contains_value: Packaging
- type: EnvironmentVariable
+ variableName: CI_USE_SCCACHE
+ variableValue: "--compiler-launcher=sccache"
+ enable_if:
+ condition: property
+ property: features
+ contains_value: Sccache
+ - type: EnvironmentVariable
variableName: CI_OS
variableValue: "MacOS"
enable_if:
@@ -86,19 +124,26 @@ instructions:
- type: PrependToEnvironmentVariable
variableName: PATH
variableValue: "{{.Env.PYTHON3_PATH}}/bin:"
- disable_if:
+ enable_if:
condition: property
property: host.os
- equals_value: Windows
+ equals_value: MacOS
- type: PrependToEnvironmentVariable
variableName: PATH
- variableValue: "{{.Env.PYTHON3_PATH}};"
+ variableValue: "{{ index .Env \"PYTHON3.10.0-64_PATH\"}};"
enable_if:
condition: property
property: host.os
equals_value: Windows
- type: PrependToEnvironmentVariable
variableName: PATH
+ variableValue: "/Users/qt/.local/bin/:"
+ enable_if:
+ condition: property
+ property: host.osVersion
+ equals_value: MacOS_11_00
+ - type: PrependToEnvironmentVariable
+ variableName: PATH
variableValue: "/Users/qt/work/install/bin:"
enable_if:
condition: property
@@ -149,3 +194,68 @@ instructions:
- type: EnvironmentVariable
variableName: LLVM_INSTALL_DIR
variableValue: "{{.Env.LLVM_DYNAMIC_LIBS_100}}"
+ disable_if:
+ condition: and
+ conditions:
+ - condition: property
+ property: target.arch
+ equals_value: X86_64-ARM64 # When target arch is universal binary, we can use the default libclang
+ - condition: property
+ property: host.os
+ equals_value: MacOS
+ - type: ExecuteCommand
+ command: "sudo apt-get install python3-pip libclang-11-dev clang -y"
+ maxTimeInSeconds: 14400
+ maxTimeBetweenOutput: 1200
+ enable_if:
+ condition: and
+ conditions:
+ - condition: property
+ property: host.os
+ equals_value: Linux
+ - condition: property
+ property: host.arch
+ equals_value: AARCH64
+ userMessageOnFailure: >
+ Failed to install dependencies
+ - type: ExecuteCommand
+ command: "python3 -m pip install -U setuptools==69.1.1"
+ maxTimeInSeconds: 14400
+ maxTimeBetweenOutput: 1200
+ enable_if:
+ condition: and
+ conditions:
+ - condition: property
+ property: host.os
+ equals_value: Linux
+ - condition: property
+ property: host.arch
+ equals_value: AARCH64
+ userMessageOnFailure: >
+ Failed to install setuptools
+ - type: EnvironmentVariable
+ variableName: LLVM_INSTALL_DIR
+ variableValue: "/usr/lib/llvm-11/lib"
+ enable_if:
+ condition: and
+ conditions:
+ - condition: property
+ property: target.arch
+ equals_value: AARCH64
+ - condition: property
+ property: host.os
+ equals_value: Linux
+ - type: EnvironmentVariable
+ variableName: interpreter
+ variableValue: "python3.11"
+ enable_if:
+ condition: property
+ property: host.osVersion
+ in_values: [RHEL_8_6, RHEL_8_8]
+ - type: EnvironmentVariable
+ variableName: interpreter
+ variableValue: "python3"
+ enable_if: # Enable for others than rhl 8.*
+ condition: property
+ property: target.osVersion
+ not_in_values: [RHEL_8_6, RHEL_8_8]
diff --git a/coin/instructions/execute_build_instructions.yaml b/coin/instructions/execute_build_instructions.yaml
index f26499027..317adae2a 100644
--- a/coin/instructions/execute_build_instructions.yaml
+++ b/coin/instructions/execute_build_instructions.yaml
@@ -1,7 +1,7 @@
type: Group
instructions:
- type: ExecuteCommand
- command: "python3 -u coin_build_instructions.py --os={{.Env.CI_OS}} {{.Env.CI_PACKAGING_FEATURE}} --instdir=/Users/qt/work/install --targetOs={{.Env.CI_OS}} --hostArch=X86_64 --targetArch={{.Env.CI_TARGET_ARCHITECTURE}} --phase=ALL"
+ command: "python3 -m pip install -U setuptools==69.1.1"
maxTimeInSeconds: 14400
maxTimeBetweenOutput: 1200
enable_if:
@@ -9,9 +9,56 @@ instructions:
property: host.os
equals_value: MacOS
userMessageOnFailure: >
- Failed to execute build instructions on osx
+ Failed to install setuptools on macOS
- type: ExecuteCommand
- command: "python3 -u coin_build_instructions.py --os={{.Env.CI_OS}} {{.Env.CI_PACKAGING_FEATURE}} --instdir=/home/qt/work/install --targetOs={{.Env.CI_OS}} --hostArch=X86_64 --targetArch={{.Env.CI_TARGET_ARCHITECTURE}} --phase=ALL"
+ command: "python3 -u coin_build_instructions.py --os={{.Env.CI_OS}} {{.Env.CI_PACKAGING_FEATURE}} {{.Env.CI_USE_SCCACHE}} --instdir=/Users/qt/work/install --targetOs={{.Env.CI_OS}} --hostArch=X86_64 --targetArch={{.Env.CI_TARGET_ARCHITECTURE}} --phase=ALL"
+ maxTimeInSeconds: 14400
+ maxTimeBetweenOutput: 1200
+ enable_if:
+ condition: and
+ conditions:
+ - condition: property
+ property: target.arch
+ equals_value: X86_64
+ - condition: property
+ property: host.os
+ equals_value: MacOS
+ userMessageOnFailure: >
+ Failed to execute build instructions on macOS
+ - type: ExecuteCommand
+ command: "python3 -u coin_build_instructions.py --os={{.Env.CI_OS}} {{.Env.CI_PACKAGING_FEATURE}} {{.Env.CI_USE_SCCACHE}} --instdir=/Users/qt/work/install --targetOs={{.Env.CI_OS}} --hostArch=X86_64 --targetArch=X86_64-ARM64 --phase=ALL"
+ maxTimeInSeconds: 14400
+ maxTimeBetweenOutput: 1200
+ enable_if:
+ condition: and
+ conditions:
+ - condition: property
+ property: target.arch
+ equals_value: X86_64-ARM64
+ - condition: property
+ property: host.os
+ equals_value: MacOS
+ userMessageOnFailure: >
+ Failed to execute build instructions on macOS
+ - type: EnvironmentVariable
+ variableName: PYSIDE_SIGNING_DIR
+ variableValue: "{{.AgentWorkingDir}}\\pyside\\{{.Env.TESTED_MODULE_COIN}}\\build\\qfpa-p3.10\\package_for_wheels"
+ enable_if:
+ condition: property
+ property: host.os
+ equals_value: Windows
+ - type: ExecuteCommand
+ command: "{{.Env.interpreter}} -m pip install -U pip setuptools==69.1.1 --user"
+ maxTimeInSeconds: 14400
+ maxTimeBetweenOutput: 1200
+ enable_if:
+ condition: property
+ property: host.os
+ equals_value: Linux
+ userMessageOnFailure: >
+ Failed to install setuptools on Linux
+ - type: ExecuteCommand
+ command: "{{.Env.interpreter}} -u coin_build_instructions.py --os={{.Env.CI_OS}} {{.Env.CI_PACKAGING_FEATURE}} {{.Env.CI_USE_SCCACHE}} --instdir=/home/qt/work/install --targetOs={{.Env.CI_OS}} --hostArch={{.Env.HOST_ARCH_COIN}} --targetArch={{.Env.TARGET_ARCH_COIN}}--phase=ALL"
maxTimeInSeconds: 14400
maxTimeBetweenOutput: 600
enable_if:
@@ -21,7 +68,17 @@ instructions:
userMessageOnFailure: >
Failed to execute build instructions on Linux
- type: ExecuteCommand
- command: "c:\\users\\qt\\MSVC.bat {{.Env.PYTHON3_PATH}}\\python.exe -u coin_build_instructions.py --os={{.Env.CI_OS}} {{.Env.CI_PACKAGING_FEATURE}} --instdir=\\Users\\qt\\work\\install --targetOs={{.Env.CI_OS}} --hostArch=X86_64 --targetArch={{.Env.CI_TARGET_ARCHITECTURE}} --phase=BUILD"
+ command: "c:\\users\\qt\\MSVC.bat {{.Env.PYTHON3_PATH}}\\python.exe -m pip install -U setuptools==69.1.1"
+ maxTimeInSeconds: 14400
+ maxTimeBetweenOutput: 1200
+ enable_if:
+ condition: property
+ property: host.os
+ equals_value: Windows
+ userMessageOnFailure: >
+ Failed to install setuptools on Windows
+ - type: ExecuteCommand
+ command: "c:\\users\\qt\\MSVC.bat {{.Env.PYTHON3_PATH}}\\python.exe -u coin_build_instructions.py --os={{.Env.CI_OS}} {{.Env.CI_PACKAGING_FEATURE}} {{.Env.CI_USE_SCCACHE}} --instdir=\\Users\\qt\\work\\install --targetOs={{.Env.CI_OS}} --hostArch=X86_64 --targetArch={{.Env.CI_TARGET_ARCHITECTURE}} --phase=BUILD"
maxTimeInSeconds: 14400
maxTimeBetweenOutput: 600
enable_if:
@@ -31,7 +88,7 @@ instructions:
userMessageOnFailure: >
Failed to execute build instructions on Windows
- type: SignPackage
- directory: "{{.AgentWorkingDir}}\\pyside"
+ directory: "{{.Env.PYSIDE_SIGNING_DIR}}"
maxTimeInSeconds: 1200
maxTimeBetweenOutput: 1200
enable_if:
@@ -45,7 +102,7 @@ instructions:
property: host.os
equals_value: Windows
- type: ExecuteCommand
- command: "c:\\users\\qt\\MSVC.bat {{.Env.PYTHON3_PATH}}\\python.exe -u coin_build_instructions.py --os={{.Env.CI_OS}} {{.Env.CI_PACKAGING_FEATURE}} --instdir=\\Users\\qt\\work\\install --targetOs={{.Env.CI_OS}} --hostArch=X86_64 --targetArch={{.Env.CI_TARGET_ARCHITECTURE}} --phase=WHEEL"
+ command: "c:\\users\\qt\\MSVC.bat {{.Env.PYSIDE_VIRTUALENV}}\\Scripts\\python.exe create_wheels.py"
maxTimeInSeconds: 14400
maxTimeBetweenOutput: 300
enable_if:
@@ -54,3 +111,18 @@ instructions:
equals_value: Windows
userMessageOnFailure: >
Failed to create wheels for Windows
+ - type: ExecuteCommand
+ command: "{{.Env.PYSIDE_VIRTUALENV}}/bin/python create_wheels.py"
+ maxTimeInSeconds: 14400
+ maxTimeBetweenOutput: 300
+ enable_if:
+ condition: or
+ conditions:
+ - condition: property
+ property: host.os
+ equals_value: MacOS
+ - condition: property
+ property: host.os
+ equals_value: Linux
+ userMessageOnFailure: >
+ Failed to create wheels
diff --git a/coin/instructions/execute_test_instructions.yaml b/coin/instructions/execute_test_instructions.yaml
index 71057d35e..780b27ec7 100644
--- a/coin/instructions/execute_test_instructions.yaml
+++ b/coin/instructions/execute_test_instructions.yaml
@@ -5,7 +5,7 @@ enable_if:
not_contains_value: LicenseCheck
instructions:
- type: ExecuteCommand
- command: "python3 -u coin_test_instructions.py --os={{.Env.CI_OS}} {{.Env.CI_PACKAGING_FEATURE}} --instdir=/Users/qt/work/install --targetOs={{.Env.CI_OS}} --hostArch=X86_64 --targetArch={{.Env.CI_TARGET_ARCHITECTURE}}"
+ command: "python3 -m pip install -U setuptools==69.1.1"
maxTimeInSeconds: 14400
maxTimeBetweenOutput: 1200
enable_if:
@@ -13,9 +13,49 @@ instructions:
property: host.os
equals_value: MacOS
userMessageOnFailure: >
- Failed to execute test instructions on osx
+ Failed to install setuptools on macOS
+ - type: ExecuteCommand
+ command: "python3 -u coin_test_instructions.py --os={{.Env.CI_OS}} {{.Env.CI_PACKAGING_FEATURE}} --instdir=/Users/qt/work/install --targetOs={{.Env.CI_OS}} --hostArch=ARM64 --targetArch={{.Env.CI_TARGET_ARCHITECTURE}}"
+ maxTimeInSeconds: 14400
+ maxTimeBetweenOutput: 1200
+ enable_if:
+ condition: and
+ conditions:
+ - condition: property
+ property: host.osVersion
+ equals_value: MacOS_11_00
+ - condition: property
+ property: host.arch
+ equals_value: ARM64
+ userMessageOnFailure: >
+ Failed to execute test instructions on arm mac
+ - type: ExecuteCommand
+ command: "python3 -u coin_test_instructions.py --os={{.Env.CI_OS}} {{.Env.CI_PACKAGING_FEATURE}} --instdir=/Users/qt/work/install --targetOs={{.Env.CI_OS}} --hostArch=X86_64 --targetArch={{.Env.CI_TARGET_ARCHITECTURE}}"
+ maxTimeInSeconds: 14400
+ maxTimeBetweenOutput: 1200
+ enable_if:
+ condition: and
+ conditions:
+ - condition: property
+ property: host.os
+ equals_value: MacOS
+ - condition: property
+ property: host.arch
+ equals_value: X86_64
+ userMessageOnFailure: >
+ Failed to execute test instructions on macOS
+ - type: ExecuteCommand
+ command: "{{.Env.interpreter}} -m pip install -U pip setuptools==69.1.1 --user"
+ maxTimeInSeconds: 14400
+ maxTimeBetweenOutput: 1200
+ enable_if:
+ condition: property
+ property: host.os
+ equals_value: Linux
+ userMessageOnFailure: >
+ Failed to install setuptools on Linux
- type: ExecuteCommand
- command: "python3 -u coin_test_instructions.py --os={{.Env.CI_OS}} {{.Env.CI_PACKAGING_FEATURE}} --instdir=/home/qt/work/install --targetOs={{.Env.CI_OS}} --hostArch=X86_64 --targetArch={{.Env.CI_TARGET_ARCHITECTURE}}"
+ command: "{{.Env.interpreter}} -u coin_test_instructions.py --os={{.Env.CI_OS}} {{.Env.CI_PACKAGING_FEATURE}} --instdir=/home/qt/work/install --targetOs={{.Env.CI_OS}} --hostArch=X86_64 --targetArch={{.Env.CI_TARGET_ARCHITECTURE}}"
maxTimeInSeconds: 14400
maxTimeBetweenOutput: 600
enable_if:
@@ -25,7 +65,17 @@ instructions:
userMessageOnFailure: >
Failed to execute test instructions on Linux
- type: ExecuteCommand
- command: "c:\\users\\qt\\MSVC.bat {{.Env.PYTHON3_PATH}}\\python.exe -u coin_test_instructions.py --os={{.Env.CI_OS}} {{.Env.CI_PACKAGING_FEATURE}} --instdir=\\Users\\qt\\work\\install --targetOs={{.Env.CI_OS}} --hostArch=X86_64 --targetArch={{.Env.CI_TARGET_ARCHITECTURE}}"
+ command: "c:\\users\\qt\\MSVC.bat {{.Env.PYTHON3_PATH}}\\python.exe -m pip install -U pip setuptools==69.1.1 --user"
+ maxTimeInSeconds: 14400
+ maxTimeBetweenOutput: 1200
+ enable_if:
+ condition: property
+ property: host.os
+ equals_value: Windows
+ userMessageOnFailure: >
+ Failed to install setuptools on Windows
+ - type: ExecuteCommand
+ command: "c:\\users\\qt\\MSVC.bat {{.Env.PYTHON3_PATH}}\\python.exe -u coin_test_instructions.py --os={{.Env.CI_OS}} {{.Env.CI_PACKAGING_FEATURE}} --instdir=c:\\Users\\qt\\work\\install --targetOs={{.Env.CI_OS}} --hostArch=X86_64 --targetArch={{.Env.CI_TARGET_ARCHITECTURE}}"
maxTimeInSeconds: 14400
maxTimeBetweenOutput: 600
enable_if:
diff --git a/coin/instructions/find_path_to_msvc_compiler.yaml b/coin/instructions/find_path_to_msvc_compiler.yaml
index 8f9bed82f..015a86eab 100644
--- a/coin/instructions/find_path_to_msvc_compiler.yaml
+++ b/coin/instructions/find_path_to_msvc_compiler.yaml
@@ -18,6 +18,13 @@ instructions:
condition: property
property: host.compiler
equals_value: MSVC2019
+ - type: EnvironmentVariable
+ variableName: VC_SCRIPT
+ variableValue: "\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\VC\\Auxiliary\\Build\\vcvarsall.bat"
+ enable_if:
+ condition: property
+ property: host.compiler
+ equals_value: MSVC2022
- type: WriteFile
fileContents: "call \"{{.Env.VC_SCRIPT}}\" {{.Env.TARGET_ARCHITECTURE}} \r\ncmd /c %*"
filename: "c:\\users\\qt\\MSVC.bat"