pool:
name: Hosted macOS
demands: msbuild
steps:
# Azure DevOps hosted pool is still using an old version of Xamarin.iOS,
# so we will use the previous major version of Xcode
- task: CmdLine@2
inputs:
script: 'sudo rm -rf /Applications/Xcode.app/;
sudo /bin/mv /Applications/Xcode_9.4.1.app/ /Applications/Xcode.app/'
# Print the current version of Xamarin.iOS
- task: CmdLine@2
inputs:
script: '/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/bin/mtouch --version'
- task: NuGetCommand@2
displayName: 'NuGet restore'
inputs:
restoreSolution: NLua.sln
- script: 'brew update'
displayName: 'Brew Update'
- script: 'brew install gitversion --ignore-dependencies'
displayName: 'Install GitVersion'
- task: PowerShell@2
displayName: 'PowerShell Script'
inputs:
targetType: filePath
filePath: ./devops/PreBuild.ps1
arguments: 'NLua NLua.nuspec'
- task: MSBuild@1
displayName: 'Build solution NLua.sln'
inputs:
solution: NLua.sln
configuration: ReleaseMac
- script: 'nunit-console ./tests/build/net45/bin/Release/NLuaTest.dll -xml TEST-Result-Mac.xml'
displayName: 'Run OSX tests'
- task: PublishTestResults@2
displayName: 'Publish Mac Test Results TEST-Result-Mac.xml'
inputs:
testResultsFormat: NUnit
testResultsFiles: 'TEST-Result-Mac.xml'
- task: MSBuild@1
displayName: 'Run iOS tests'
inputs:
solution: tests/build/xamarinios/NLuaTest.XamariniOS.csproj
platform: iPhoneSimulator
configuration: Release
msbuildArguments: '/t:RunSimulatorTests'
- task: PublishTestResults@2
displayName: 'Publish iOS Test Results TEST-Result-iOS.xml'
inputs:
testResultsFormat: NUnit
testResultsFiles: 'tests/build/xamarinios/TEST-Result-Xamarin.iOS.xml'
- task: MSBuild@1
displayName: 'Run tvOS tests'
inputs:
solution: tests/build/xamarintvos/NLuaTest.XamarinTVOS.csproj
platform: iPhoneSimulator
configuration: Release
msbuildArguments: '/t:RunSimulatorTests'
- task: PublishTestResults@2
displayName: 'Publish tvOS Test Results TEST-Result-tvOS.xml'
inputs:
testResultsFormat: NUnit
testResultsFiles: 'tests/build/xamarintvos/TEST-Result-Xamarin.TVOS.xml'
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: Xamarin.iOS.NLua.dll'
inputs:
PathtoPublish: lib/Release/xamarinios/NLua.dll
ArtifactName: Xamarin.iOS.NLua.dll
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: Xamarin.tvOS.NLua.dll'
inputs:
PathtoPublish: lib/Release/xamarintvos/NLua.dll
ArtifactName: Xamarin.tvOS.NLua.dll
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: Xamarin.watchOS.NLua.dll'
inputs:
PathtoPublish: lib/Release/xamarinwatchos/NLua.dll
ArtifactName: Xamarin.watchOS.NLua.dll
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: Xamarin.Mac.NLua.dll'
inputs:
PathtoPublish: lib/Release/xamarinmac/NLua.dll
ArtifactName: Xamarin.Mac.NLua.dll
- task: TriggerBuild@3
displayName: 'Trigger a new build of NLua.Windows'
inputs:
buildDefinition: 'NLua.Windows'
ignoreSslCertificateErrors: true
useSameSourceVersion: true
password: '$(myToken)'
- task: SendTelegramNotification@0
condition: in(variables['Agent.JobStatus'], 'SucceededWithIssues')
inputs:
botToken: '$(botToken)'
chats: '$(chatId)'
taskStatus: false
message: |
⚠️ Warning! $(Build.DefinitionName) ($(Build.SourceBranchName))
$(Build.SourceVersion)$(Build.SourceVersionMessage) by $(Build.QueuedBy) - task: SendTelegramNotification@0 condition: in(variables['Agent.JobStatus'], 'Failed') inputs: botToken: '$(botToken)' chats: '$(chatId)' taskStatus: false buildQueuedBy: false message: | ❌ Fail! $(Build.DefinitionName) (
$(Build.SourceBranchName))
$(Build.SourceVersion)$(Build.SourceVersionMessage) by $(Build.QueuedBy) - task: SendTelegramNotification@0 condition: in(variables['Agent.JobStatus'], 'Succeeded') inputs: botToken: '$(botToken)' chats: '$(chatId)' taskStatus: false buildQueuedBy: false message: | ✅ Success! $(Build.DefinitionName) (
$(Build.SourceBranchName))
$(Build.SourceVersion)$(Build.SourceVersionMessage) by $(Build.QueuedBy) #