ardupilot/.azure/autotest_template.yml

49 lines
2.4 KiB
YAML

parameters:
action: 'fly'
jobs:
- job: sitl_${{ parameters.name }}_test
displayName: ${{ format('Cygwin SITL {0} test', parameters.name) }}
pool:
vmImage: 'win1803'
condition: eq(variables['Build.Reason'], 'Schedule')
steps:
- script: choco install cygwin --params "/InstallDir:C:\Cygwin /NoStartMenu /NoAdmin"
displayName: 'Install Cygwin'
- script: choco install gcc-g++ python36 python36-devel python36-future python36-lxml python36-pip python36-pexpect python36-numpy git gettext libcrypt-devel --source cygwin
displayName: 'Install Cygwin packages'
- script: git submodule update --recursive --init modules/mavlink
displayName: Initialize MAVLink submodule
- script: git submodule update --recursive --init modules/uavcan
displayName: 'Initialize UAVCAN submodule'
- script: C:\Cygwin\bin\bash --login -c "cd $(cygpath '%BUILD_SOURCESDIRECTORY%')/modules/mavlink/pymavlink && python setup.py build install --user"
displayName: 'Install pymavlink from submodule'
- script: C:\Cygwin\bin\bash --login -c "pip install MAVProxy"
displayName: 'Install MAVProxy in Cygwin'
- script: C:\Cygwin\bin\bash --login -c "cd $(cygpath '%BUILD_SOURCESDIRECTORY%') && Tools/autotest/autotest.py ${{ format('build.{0} {1}.{2}', parameters.build_target, parameters.action, parameters.action_target) }}"
displayName: ${{ format('Run {0} autotest', parameters.name) }}
- script: C:\Cygwin\bin\bash --login -c "cd $(cygpath '%BUILD_SOURCESDIRECTORY%') && cp $(cygcheck.exe build/sitl/bin/* | grep Cygwin | grep -v '.exe' | sed 's/^[ \t]*//' | sort | uniq) build/sitl/bin/"
displayName: 'Copy dependencies to build dir'
- task: PublishBuildArtifacts@1
# - task: PublishPipelineArtifact@0
displayName: 'Publish build artifacts'
inputs:
artifactName: 'Cygwin SITL binaries'
pathtoPublish: 'build/sitl/bin'
# targetPath: 'build/sitl/bin'
- task: PublishBuildArtifacts@1
# - task: PublishPipelineArtifact@0
displayName: 'Publish test folder'
inputs:
artifactName: ${{ format('{0} Test folder', parameters.name) }}
pathtoPublish: ${{ format('test.{0}', parameters.action_target) }}
# targetPath: ${{ format('test.{0}', parameters.action_target) }}
- task: PublishBuildArtifacts@1
# - task: PublishPipelineArtifact@0
displayName: 'Publish logs'
inputs:
artifactName: ${{ format('{0} Logs', parameters.name) }}
pathtoPublish: '../buildlogs'
# targetPath: '../buildlogs'