type: Group
enable_if:
  condition: property
  property: features
  not_contains_value: LicenseCheck
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 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}} --osVer={{.Env.HOST_OSVERSION_COIN}}"
    maxTimeInSeconds: 14400
    maxTimeBetweenOutput: 1200
    enable_if:
        condition: and
        conditions:
          - condition: property
            property: host.os
            equals_value: MacOS
          - condition: property
            property: host.arch
            equals_value: ARM64
          - condition: property
            property: target.os
            not_equals_value: Android
    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
          - condition: property
            property: target.os
            not_equals_value: Android
    userMessageOnFailure: >
         Failed to execute test instructions on macOS
  - type: ExecuteCommand
    command: "{{.Env.interpreter}} -m pip install -r requirements-coin.txt --user"
    maxTimeInSeconds: 14400
    maxTimeBetweenOutput: 1200
    enable_if:
        condition: property
        property: host.os
        equals_value: Linux
    userMessageOnFailure: >
         Failed to install requirements-coin.txt 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: and
        conditions:
          - condition: property
            property: host.os
            equals_value: Linux
          - condition: property
            property: target.os
            not_equals_value: Android
    userMessageOnFailure: >
         Failed to execute test instructions on Linux
  - type: ExecuteCommand
    command: "c:\\users\\qt\\MSVC.bat {{.Env.PYTHON3_PATH}}\\python.exe -m pip install -r requirements-coin.txt --user"
    maxTimeInSeconds: 14400
    maxTimeBetweenOutput: 1200
    enable_if:
        condition: property
        property: host.os
        equals_value: Windows
    userMessageOnFailure: >
         Failed to install requirements-coin.txt 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={{.Env.HOST_ARCH_COIN}}  --targetArch={{.Env.TARGET_ARCH_COIN}}"
    maxTimeInSeconds: 14400
    maxTimeBetweenOutput: 600
    enable_if:
        condition: and
        conditions:
          - condition: property
            property: host.os
            equals_value: Windows
          - condition: property
            property: target.os
            not_equals_value: Android
          - condition: property
            property: host.compiler
            not_equals_value: Mingw
    userMessageOnFailure: >
         Failed to execute test instructions on 64 bit Windows
