trigger:
- master
- Release_*
- dev/*

jobs:
- job: Ubuntu_x64_minimallib_build
  timeoutInMinutes: 120
  pool:
    vmImage: ubuntu-latest
  steps:
  - task: Docker@2
    displayName: 'Build MinimalLib JS bindings'
    inputs:
      command: build
      Dockerfile: './Code/MinimalLib/docker/Dockerfile_CI'
      buildContext: '.'
      tags: 'latest' 
- job: Ubuntu_x64
  timeoutInMinutes: 120
  pool:
    vmImage: ubuntu-20.04
  variables:
    python: python=3.8
    boost_version: 1.71.0
    compiler: gxx_linux-64
    number_of_cores: nproc
    python_name: python38
    cc: gcc-10
    cxx: g++-10
  steps:
  - template: .azure-pipelines/linux_build.yml
- job: Ubuntu_x64_py311
  timeoutInMinutes: 120
  pool:
    vmImage: ubuntu-latest
  variables:
    python: python=3.11
    boost_version: 1.82.0
    compiler: gxx_linux-64
    cc: gcc-10
    cxx: g++-10
    number_of_cores: nproc
    python_name: python311
  steps:
  - template: .azure-pipelines/linux_build_py311.yml
- job: macOS_x64
  timeoutInMinutes: 120
  pool:
    vmImage: macos-14
  variables:
    compiler: clangxx_osx-64=18.1
    compiler_version: 16
    boost_version: 1.84
    number_of_cores: sysctl -n hw.ncpu
    target_platform: 14.5
    python: python=3.11
  steps:
  - template: .azure-pipelines/mac_build.yml
- job: macOS_x64_java
  timeoutInMinutes: 90
  pool:
    vmImage: macos-14
  variables:
    compiler: clangxx_osx-64=18.1
    compiler_version: 16
    boost_version: 1.84
    number_of_cores: sysctl -n hw.ncpu
    target_platform: 14.5
  steps:
  - template: .azure-pipelines/mac_build_java.yml
- job: Windows_VS2022_x64
  timeoutInMinutes: 120
  pool:
    vmImage: windows-2019
  variables:
    boost_version: 1.84.0
    number_of_cores: '%NUMBER_OF_PROCESSORS%'
    python: python=3.12
  steps:
  - template: .azure-pipelines/vs_build.yml
- job: Windows_VS2022_x64_dll
  timeoutInMinutes: 120
  pool:
    vmImage: windows-2019
  variables:
    boost_version: 1.84.0
    number_of_cores: '%NUMBER_OF_PROCESSORS%'
    python: python=3.12
  steps:
  - template: .azure-pipelines/vs_build_dll.yml
- job: Ubuntu_x64_cartridge
  timeoutInMinutes: 90
  pool:
    vmImage: ubuntu-20.04
  variables:
    boost_version: 1.71.0
    number_of_cores: nproc
    compiler: gxx_linux-64
    cc: gcc-10
    cxx: g++-10
  steps:
  - template: .azure-pipelines/linux_build_cartridge.yml
- job: Ubuntu_x64_limitexternaldependencies
  timeoutInMinutes: 90
  pool:
    vmImage: ubuntu-22.04
  variables:
    python: python=3.11
    boost_version: 1.82.0
    number_of_cores: nproc
    compiler: gxx_linux-64
    cc: gcc-11
    cxx: g++-11
  steps:
  - template: .azure-pipelines/linux_build_limitexternal.yml
- job: Ubuntu_x64_java
  timeoutInMinutes: 90
  pool:
    vmImage: ubuntu-20.04
  variables:
    boost_version: 1.84.0
    number_of_cores: nproc
    python_name: python37
    compiler: gxx_linux-64
    cc: gcc-10
    cxx: g++-10
  steps:
  - template: .azure-pipelines/linux_build_java.yml
- job: Windows_VS2022_x64_swig
  timeoutInMinutes: 90
  pool:
    vmImage: windows-2019
  variables:
    boost_version: 1.84.0
    number_of_cores: '%NUMBER_OF_PROCESSORS%'
    python_name: python38
  steps:
  - template: .azure-pipelines/vs_build_swig.yml

# - job: Ubuntu_18_04_x64_fuzzer
#  timeoutInMinutes: 90
#  pool:
#    vmImage: ubuntu-18.04
#  variables:
#    boost_version: 1.67.0
#    number_of_cores: nproc
#  steps:
#  - template: .azure-pipelines/linux_build_fuzzer.yml
