Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
145 lines (135 sloc) 4.23 KB
# Since Azure Pipelines does not support YAML anchors as of May 2019,
# we use job and step templates, Azure Pipelines' mini language, instead here.
# It is a domain specific language built upon YAML, and has quite complex
# things. Read the docs first:
# https://docs.microsoft.com/azure/devops/pipelines/process/templates
# Template files are placed in the .azure-pipelines/ directory.
variables:
configuration: Release
jobs:
- job: Windows_NETCore_coverage
pool:
vmImage: 'vs2017-win2016'
steps:
- task: CmdLine@2
displayName: dotnet tool install Codecov.Tool
inputs:
script: dotnet tool install --global Codecov.Tool --version 1.5.0
- template: .azure-pipelines/dotnet-core.yml
parameters:
configuration: Debug
turnServerUrl: $(turnServerUrl)
testArguments: >-
--logger trx
--collect "Code coverage"
--filter "RequireTurnServer!=true"
# FIXME: For unknown reason, on Windows tests depending on TURN_SERVER_URL
# seems to never end or to take too long time. We should diagnose
# this and make Windows builds to run these tests too.
- task: Bash@3
displayName: codecov
inputs:
targetType: inline
script: |
set -e
pushd '$(Agent.TempDirectory)'
mkdir -p cov
if [[ '$(codecovToken)' = '' ]]; then
echo "codecovToken variable is not configured." > /dev/stderr
exit 0
fi
curl \
-o microsoft.codecoverage.16.1.0.nupkg -L \
https://www.nuget.org/api/v2/package/Microsoft.CodeCoverage/16.1.0
unzip microsoft.codecoverage.16.1.0.nupkg
i=0
for cov in **/*.coverage; do
echo build/netstandard1.0/CodeCoverage/CodeCoverage.exe analyze \
/output:"cov/$i.coveragexml" \
"$cov"
build/netstandard1.0/CodeCoverage/CodeCoverage.exe analyze \
/output:"cov/$i.coveragexml" \
"$cov"
i=$[i+1]
done
tmp_path="`pwd`"
popd
for cov in "$tmp_path"/cov/*.coveragexml; do
codecov -f "$cov" -t '$(codecovToken)'
done
- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: '$(Agent.TempDirectory)\cov'
artifactName: coverage
timeoutInMinutes: 30
- job: Linux_Mono
pool:
vmImage: ubuntu-16.04
steps:
- template: .azure-pipelines/mono.yml
parameters:
configuration: $(configuration)
turnServerUrl: $(turnServerUrl)
timeoutInMinutes: 30
- job: macOS_Mono
pool:
vmImage: macOS-10.14
steps:
- template: .azure-pipelines/mono.yml
parameters:
configuration: $(configuration)
turnServerUrl: $(turnServerUrl)
timeoutInMinutes: 30
- job: Windows_Mono
pool:
vmImage: windows-2019
steps:
- task: CmdLine@2
displayName: choco install mono
inputs:
script: choco install mono --yes
- template: .azure-pipelines/windows-net461.yml
parameters:
configuration: $(configuration)
turnServerUrl: $(turnServerUrl)
testPrefix: '"$PROGRAMFILES/Mono/bin/mono.exe"'
testArguments: -appdomains denied
timeoutInMinutes: 30
- job: Linux_NETCore
pool:
vmImage: 'ubuntu-16.04'
steps:
- template: .azure-pipelines/dotnet-core.yml
parameters:
configuration: $(configuration)
turnServerUrl: $(turnServerUrl)
timeoutInMinutes: 30
- job: macOS_NETCore
pool:
vmImage: 'macOS-10.14'
steps:
- template: .azure-pipelines/dotnet-core.yml
parameters:
configuration: $(configuration)
turnServerUrl: $(turnServerUrl)
timeoutInMinutes: 30
- job: Windows_NETCore
pool:
vmImage: 'vs2017-win2016'
steps:
- template: .azure-pipelines/dotnet-core.yml
parameters:
configuration: $(configuration)
turnServerUrl: $(turnServerUrl)
testArguments: '--filter "RequireTurnServer!=true"'
# FIXME: For unknown reason, on Windows tests depending on TURN_SERVER_URL
# seems to never end or to take too long time. We should diagnose
# this and make Windows builds to run these tests too.
timeoutInMinutes: 30
- job: Windows_NETFramework
pool:
vmImage: windows-2019
steps:
- template: .azure-pipelines/windows-net461.yml
parameters:
configuration: $(configuration)
You can’t perform that action at this time.