trigger:
- master
- release/*
pr:
- master
- release/*

jobs:
- job: windows
  displayName: 'Windows'
  pool:
    vmImage: 'VS2017-Win2016'

  strategy:
    matrix:
      Win32:
        BuildPlatform: 'Win32'
      Win64:
        BuildPlatform: 'x64'

  steps:
  - template: azure-pipelines/templates/ci-git-rebase.yml
  - template: azure-pipelines/templates/windows-dependencies.yml
  - template: azure-pipelines/templates/ci-opengfx.yml
  - template: azure-pipelines/templates/windows-build.yml
    parameters:
      BuildPlatform: $(BuildPlatform)
      BuildConfiguration: Debug
  - script: |
      call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x86
      cd projects
      call regression.bat
    displayName: 'Test'

- job: linux
  displayName: 'Linux'
  pool:
    vmImage: 'ubuntu-16.04'

  strategy:
    matrix:
      commit-checker:
        Tag: 'commit-checker'
      linux-amd64-clang-3.9:
        Tag: 'linux-amd64-clang-3.9'
      linux-amd64-gcc-6:
        Tag: 'linux-amd64-gcc-6'
      linux-i386-gcc-6:
        Tag: 'linux-i386-gcc-6'

  steps:
  - template: azure-pipelines/templates/ci-git-rebase.yml
  # The dockers already have the dependencies installed
  # The dockers already have OpenGFX installed
  - template: azure-pipelines/templates/linux-build.yml
    parameters:
      Image: compile-farm-ci
      Tag: $(Tag)

- job: macos
  displayName: 'MacOS'
  pool:
    vmImage: 'macOS-10.13'

  variables:
    MACOSX_DEPLOYMENT_TARGET: 10.9

  steps:
  - template: azure-pipelines/templates/ci-git-rebase.yml
  - template: azure-pipelines/templates/osx-dependencies.yml
  - template: azure-pipelines/templates/ci-opengfx.yml
  - template: azure-pipelines/templates/osx-build.yml
  - script: 'make regression'
    displayName: 'Test'
