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: 'macOS-10.14' steps: - task: DotNetCoreInstaller@0 inputs: version: '2.1.403' - task: CmdLine@2 displayName: 'Install Mono 5.18' inputs: script: | curl -o ./mono.pkg https://download.mono-project.com/archive/5.18.0/macos-10-universal/MonoFramework-MDK-5.18.0.225.macos10.xamarin.universal.pkg sudo installer -verbose -pkg ./mono.pkg -target / - task: Xcode@5 inputs: actions: 'build' scheme: '' sdk: 'macosx10.14' configuration: 'Release' xcWorkspacePath: '**/*.xcodeproj/project.xcworkspace' xcodeVersion: '10' # Options: 8, 9, default, specifyPath args: '-derivedDataPath ./' - task: CmdLine@2 displayName: 'Install CastXML' inputs: script: | brew update 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: succeeded() - task: PublishBuildArtifacts@1 inputs: pathtoPublish: '$(Build.SourcesDirectory)/artifacts/nuget' artifactName: 'NuGetOSX' condition: succeeded() - job: Windows pool: vmImage: 'windows-2019' 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: succeeded() - task: PublishBuildArtifacts@1 inputs: pathToPublish: '$(Build.SourcesDirectory)/artifacts/zip' artifactName: 'Samples' condition: succeeded()