type: Group
instructions:
  - type: ExecuteCommand
    command: "python3 -m pip install -r requirements-coin.txt"
    maxTimeInSeconds: 14400
    maxTimeBetweenOutput: 1200
    enable_if:
        condition: property
        property: host.os
        equals_value: MacOS
    userMessageOnFailure: >
         Failed to install requirements-coin.txt dependencies 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={{.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: EnvironmentVariable
    variableName: PYSIDE_SIGNING_DIR
    variableValue: "{{.AgentWorkingDir}}\\pyside\\{{.Env.TESTED_MODULE_COIN}}\\build\\qfpa-p3.11\\package_for_wheels"
    enable_if:
        condition: and
        conditions:
          - condition: property
            property: host.os
            equals_value: Windows
          - condition: property
            property: host.arch
            equals_value: AARCH64
  - type: ExecuteCommand
    command: "{{.Env.interpreter}} -m pip install -r requirements-coin.txt --user"
    maxTimeInSeconds: 14400
    maxTimeBetweenOutput: 1200
    enable_if:
        condition: and
        conditions:
        - condition: property
          property: host.os
          equals_value: Linux
        - condition: property
          property: host.osVersion
          not_equals_value: Ubuntu_24_04
    userMessageOnFailure: >
         Failed to install requirements-coin.txt dependencies 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
        equals_value: Linux
    userMessageOnFailure: >
         Failed to execute build instructions on Linux
  - type: ExecuteCommand
    command: "c:\\users\\qt\\MSVC.bat {{.Env.PYTHON3_PATH}}\\python.exe -m pip install -r requirements-coin.txt"
    maxTimeInSeconds: 14400
    maxTimeBetweenOutput: 1200
    enable_if:
        condition: property
        property: host.os
        equals_value: Windows
    userMessageOnFailure: >
         Failed to install requirements-coin.txt dependencies 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={{.Env.HOST_ARCH_COIN}}  --targetArch={{.Env.TARGET_ARCH_COIN}} --phase=BUILD"
    maxTimeInSeconds: 14400
    maxTimeBetweenOutput: 600
    enable_if:
        condition: property
        property: host.os
        equals_value: Windows
    userMessageOnFailure: >
         Failed to execute build instructions on Windows
  - type: SignPackage
    directory: "{{.Env.PYSIDE_SIGNING_DIR}}"
    maxTimeInSeconds: 1200
    maxTimeBetweenOutput: 1200
    enable_if:
      condition: property
      property: host.os
      equals_value: Windows
  - type: ChangeDirectory
    directory: "{{.AgentWorkingDir}}\\pyside\\pyside-setup"
    enable_if:
        condition: property
        property: host.os
        equals_value: Windows
  - type: ExecuteCommand
    command: "c:\\users\\qt\\MSVC.bat {{.Env.PYSIDE_VIRTUALENV}}\\Scripts\\python.exe create_wheels.py"
    maxTimeInSeconds: 14400
    maxTimeBetweenOutput: 300
    enable_if:
        condition: property
        property: host.os
        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
