jobs:
- job: sitl
  displayName: 'Cygwin SITL build'
  pool:
    vmImage: 'windows-latest'
  condition: ne(variables['Build.Reason'], 'Schedule')
  steps:
  - script: choco install cygwin --params "/InstallDir:C:\Cygwin /NoStartMenu /NoAdmin"
    displayName: 'Install Cygwin'

  - script: choco install cygwin32-gcc-g++ python36 python36-future python36-lxml python36-pip python-setuptools git libexpat procps gettext --source cygwin
    displayName: 'Install Cygwin packages'
  - script: C:\Cygwin\bin\bash --login -c "cd $(cygpath '%BUILD_SOURCESDIRECTORY%') && git submodule update --recursive --init --depth 2"
    displayName: Initialize submodules

  - script: C:\Cygwin\bin\bash --login -c "ln -s /usr/bin/python3.6 /usr/bin/python && ln -s /usr/bin/pip3.6 /usr/bin/pip"
    displayName: 'Make Python 3.6 the default Python'

  - script: C:\Cygwin\bin\bash --login -c "cd $(cygpath '%BUILD_SOURCESDIRECTORY%') &&
                                           mkdir artifacts &&
                                           (./waf --color yes --toolchain i686-pc-cygwin --board sitl configure bin 2>&1) | tee artifacts/build.txt"
    displayName: 'Build SITL'

  - script: C:\Cygwin\bin\bash --login -c "cd $(cygpath '%BUILD_SOURCESDIRECTORY%') &&
                                           cp -v build/sitl/bin/* artifacts/ &&
                                           cp -v $(i686-pc-cygwin-g++ -print-sysroot)/usr/bin/*.dll artifacts/ &&
                                           git log -1 > artifacts/git.txt"
    displayName: 'Copy dependencies to build dir'

  - task: PublishBuildArtifacts@1
#  - task: PublishPipelineArtifact@0
    displayName: 'Publish build artifacts'
    inputs:
      artifactName: 'Cygwin SITL binaries'
      pathtoPublish: 'artifacts'
#      targetPath: 'artifacts'

- template: autotest_template.yml
  parameters:
    name: 'Copter'
    build_target: 'ArduCopter'
    action_target: 'ArduCopter'

- template: autotest_template.yml
  parameters:
    name: 'Plane'
    build_target: 'ArduPlane'
    action_target: 'ArduPlane'

- template: autotest_template.yml
  parameters:
    name: 'Quadplane'
    build_target: 'ArduPlane'
    action_target: 'QuadPlane'

- template: autotest_template.yml
  parameters:
    name: 'Rover'
    build_target: 'APMrover2'
    action: 'drive'
    action_target: 'APMrover2'

- template: autotest_template.yml
  parameters:
    name: 'Sub'
    build_target: 'ArduSub'
    action: 'dive'
    action_target: 'ArduSub'