diff options
Diffstat (limited to 'coin/instructions')
-rw-r--r-- | coin/instructions/common_environment.yaml | 144 | ||||
-rw-r--r-- | coin/instructions/execute_build_instructions.yaml | 90 | ||||
-rw-r--r-- | coin/instructions/execute_license_check.yaml | 2 | ||||
-rw-r--r-- | coin/instructions/execute_test_instructions.yaml | 67 | ||||
-rw-r--r-- | coin/instructions/find_path_to_msvc_compiler.yaml | 7 |
5 files changed, 290 insertions, 20 deletions
diff --git a/coin/instructions/common_environment.yaml b/coin/instructions/common_environment.yaml index 2c6603334..441a01803 100644 --- a/coin/instructions/common_environment.yaml +++ b/coin/instructions/common_environment.yaml @@ -1,6 +1,28 @@ type: Group instructions: - type: EnvironmentVariable + 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: @@ -13,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: @@ -46,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: @@ -82,6 +123,41 @@ instructions: equals_value: Windows - type: PrependToEnvironmentVariable variableName: PATH + variableValue: "{{.Env.PYTHON3_PATH}}/bin:" + enable_if: + condition: property + property: host.os + equals_value: MacOS + - type: PrependToEnvironmentVariable + variableName: 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 + property: host.os + equals_value: MacOS + - type: PrependToEnvironmentVariable + variableName: PATH + variableValue: "/home/qt/work/install/bin:" + enable_if: + condition: property + property: host.os + equals_value: Linux + - type: PrependToEnvironmentVariable + variableName: PATH variableValue: "\\Users\\qt\\work\\install\\bin;" enable_if: condition: property @@ -115,3 +191,71 @@ instructions: condition: property property: target.compiler equals_value: ICC_18 + - 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 831783a73..317adae2a 100644 --- a/coin/instructions/execute_build_instructions.yaml +++ b/coin/instructions/execute_build_instructions.yaml @@ -1,19 +1,66 @@ type: Group instructions: - type: ExecuteCommand - command: "python -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: 300 + maxTimeBetweenOutput: 1200 enable_if: condition: property property: host.os equals_value: MacOS userMessageOnFailure: > - Failed to execute build instructions on osx + Failed to install setuptools on macOS - type: ExecuteCommand - command: "python -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: 300 + 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: condition: property property: host.os @@ -21,9 +68,19 @@ instructions: userMessageOnFailure: > Failed to execute build instructions on Linux - type: ExecuteCommand - command: "c:\\users\\qt\\MSVC.bat python -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: 300 + 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: condition: property property: host.os @@ -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 python -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_license_check.yaml b/coin/instructions/execute_license_check.yaml index 51027ba7d..0bf4d3ca1 100644 --- a/coin/instructions/execute_license_check.yaml +++ b/coin/instructions/execute_license_check.yaml @@ -6,7 +6,7 @@ instructions: maxTimeInSeconds: 600 maxTimeBetweenOutput: 600 project: qt/qtbase - ref: 5.15 + ref: "CURRENT_BRANCH" directory: qt/qtbase userMessageOnFailure: > Could not install source archive. Please investigate why. diff --git a/coin/instructions/execute_test_instructions.yaml b/coin/instructions/execute_test_instructions.yaml index 87abb476c..780b27ec7 100644 --- a/coin/instructions/execute_test_instructions.yaml +++ b/coin/instructions/execute_test_instructions.yaml @@ -4,23 +4,60 @@ enable_if: property: features not_contains_value: LicenseCheck instructions: - - type: EnvironmentVariable - variableName: QTEST_ENVIRONMENT - variableValue: "ci" - type: ExecuteCommand - command: "python -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: 300 + maxTimeBetweenOutput: 1200 enable_if: condition: property property: host.os equals_value: MacOS userMessageOnFailure: > - Failed to execute test instructions on osx + Failed to install setuptools on macOS - type: ExecuteCommand - command: "python -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: "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: 300 + 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: "{{.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: condition: property property: host.os @@ -28,9 +65,19 @@ instructions: userMessageOnFailure: > Failed to execute test instructions on Linux - type: ExecuteCommand - command: "c:\\users\\qt\\MSVC.bat python -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: 300 + maxTimeBetweenOutput: 600 enable_if: condition: property property: host.os 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" |