jobs: - job: Linux pool: vmImage: 'ubuntu-16.04' steps: - task: CmdLine@2 displayName: 'Install Nuke' inputs: script: | dotnet tool install --global Nuke.GlobalTool --version 0.24.0 - 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 variables: SolutionDir: '$(Build.SourcesDirectory)' pool: vmImage: 'macOS-10.15' steps: - task: UseDotNet@2 displayName: 'Use .NET Core SDK 3.1.401' inputs: version: 3.1.401 - 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: CmdLine@2 displayName: 'Generate avalonia-native' inputs: script: | cd src/tools/MicroComGenerator; dotnet run -i ../../Avalonia.Native/avn.idl --cpp ../../../native/Avalonia.Native/inc/avalonia-native.h - task: Xcode@5 inputs: actions: 'build' scheme: '' sdk: 'macosx11.1' configuration: 'Release' xcWorkspacePath: '**/*.xcodeproj/project.xcworkspace' xcodeVersion: '12' # Options: 8, 9, default, specifyPath args: '-derivedDataPath ./' - task: CmdLine@2 displayName: 'Install Nuke' inputs: script: | dotnet tool install --global Nuke.GlobalTool --version 0.24.0 - 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 --skip-previewer - 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' variables: SolutionDir: '$(Build.SourcesDirectory)' steps: - task: UseDotNet@2 displayName: 'Use .NET Core SDK 3.1.401' inputs: version: 3.1.401 - task: CmdLine@2 displayName: 'Install Nuke' inputs: script: | dotnet tool install --global Nuke.GlobalTool --version 0.24.0 - 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()