# Refer: https://aka.ms/yaml

jobs:

  - job: Windows_MSVC_VS2019
    pool:
      vmImage: windows-2019
    steps:
      - script: |
          echo Loading VS environment
          call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\vsdevcmd" -arch=x64 || exit 1
          echo Executing Build and Tests
          reg add HKLM\SYSTEM\CurrentControlSet\Control\FileSystem /v LongPathsEnabled /t REG_DWORD /d 1 /f || exit 1
          python -m pip install pytest pytest-xdist || exit 1
          python -u tools/ci.py -B download --cxx cl.exe -T tools\msvc.dds -T2 tools\msvc.p2.dds || exit 1
        displayName: Full CI
      - publish: _build/dds.exe
        artifact: DDS Executable - Windows VS2019

  - job: Linux_GCC8
    pool:
      vmImage: ubuntu-18.04
    steps:
      - script: |
          set -eu
          sudo apt update -y
          sudo apt install -y python3-minimal g++-8
          python3 -m pip install pytest pytest-xdist
        displayName: Prepare System
      - script: python3 -u tools/ci.py -B download --cxx g++-8 -T tools/gcc-8.dds -T2 tools/gcc-8.p2.dds
        displayName: Full CI
      - publish: _build/dds
        artifact: DDS Executable - Linux

  - job: macOS_GCC8
    pool:
      vmImage: macOS-10.14
    steps:
      - script: brew install gcc@8
        displayName: Prepare System
      - script: |
          set -eu
          python3 -m pip install pytest pytest-xdist
          python3 -u tools/ci.py -B download --cxx g++-8 -T tools/gcc-8.dds -T2 tools/gcc-8.p2.dds
        displayName: Build and Run Unit Tests
      - publish: _build/dds
        artifact: DDS Executable - macOS