jobs: - job: Linux pool: vmImage: 'ubuntu-16.04' steps: - task: CmdLine@2 displayName: 'Install CastXML' inputs: script: | sudo apt-get update sudo apt-get install castxml - task: CmdLine@2 displayName: 'Install Nuke' inputs: script: | dotnet tool install --global Nuke.GlobalTool --version 0.12.3 - task: CmdLine@2 displayName: 'Run Nuke' inputs: script: | export PATH="$PATH:$HOME/.dotnet/tools" dotnet --info printenv nuke --target CiAzureLinux --configuration=Release - task: PublishTestResults@2 inputs: testResultsFormat: 'VSTest' testResultsFiles: '$(Build.SourcesDirectory)/artifacts/test-results/*.trx' condition: not(canceled()) - job: macOS pool: vmImage: 'xcode9-macos10.13' steps: - task: DotNetCoreInstaller@0 inputs: version: '2.1.403' - task: Xcode@5 inputs: actions: 'build' scheme: '' sdk: 'macosx10.13' configuration: 'Release' xcWorkspacePath: '**/*.xcodeproj/project.xcworkspace' xcodeVersion: 'default' # Options: 8, 9, default, specifyPath args: '-derivedDataPath ./' - task: CmdLine@2 displayName: 'Install CastXML' inputs: script: brew install castxml - task: CmdLine@2 displayName: 'Install Nuke' inputs: script: | dotnet tool install --global Nuke.GlobalTool --version 0.12.3 - task: CmdLine@2 displayName: 'Run Nuke' inputs: script: | export COREHOST_TRACE=0 export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 export DOTNET_CLI_TELEMETRY_OPTOUT=1 which dotnet dotnet --info export PATH="$PATH:$HOME/.dotnet/tools" dotnet --info printenv nuke --target CiAzureOSX --configuration Release - task: PublishTestResults@2 inputs: testResultsFormat: 'VSTest' testResultsFiles: '$(Build.SourcesDirectory)/artifacts/test-results/*.trx' condition: not(canceled()) - task: PublishBuildArtifacts@1 inputs: pathToPublish: '$(Build.SourcesDirectory)/Build/Products/Release/' artifactName: 'Avalonia.Native.OSX' condition: and(succeeded(), eq(variables['system.pullrequest.isfork'], false)) - task: PublishBuildArtifacts@1 inputs: pathtoPublish: '$(Build.SourcesDirectory)/artifacts/nuget' artifactName: 'NuGetOSX' condition: and(succeeded(), eq(variables['system.pullrequest.isfork'], false)) - job: Windows pool: vmImage: 'vs2017-win2016' steps: - task: CmdLine@2 displayName: 'Install Nuke' inputs: script: | dotnet tool install --global Nuke.GlobalTool --version 0.12.3 - task: CmdLine@2 displayName: 'Run Nuke' inputs: script: | set PATH=%PATH%;%USERPROFILE%\.dotnet\tools nuke --target CiAzureWindows --configuration Release - task: PublishTestResults@2 inputs: testResultsFormat: 'VSTest' testResultsFiles: '$(Build.SourcesDirectory)/artifacts/test-results/*.trx' condition: not(canceled()) - task: PublishBuildArtifacts@1 inputs: pathtoPublish: '$(Build.SourcesDirectory)/artifacts/nuget' artifactName: 'NuGet' condition: and(succeeded(), eq(variables['system.pullrequest.isfork'], false)) - task: PublishBuildArtifacts@1 inputs: pathToPublish: '$(Build.SourcesDirectory)/artifacts/zip' artifactName: 'Samples' condition: and(succeeded(), eq(variables['system.pullrequest.isfork'], false))