diff --git a/.azure-pipelines/pull-request.yml b/.azure-pipelines/pull-request.yml
index dd5f3bce4d..162b26bdad 100644
--- a/.azure-pipelines/pull-request.yml
+++ b/.azure-pipelines/pull-request.yml
@@ -59,6 +59,19 @@ jobs:
- checkout: none # Use the drop from macOS_Build_and_UnitTests job
- template: templates/macos-functional-test.yml
+ - job: macOS_FunctionalTests_watchman
+ variables:
+ platformFriendlyName: macOS
+ configuration: Release
+ timeoutInMinutes: 30
+ pool:
+ name: 'Hosted macOS'
+ dependsOn: macOS_Build_and_UnitTests
+ condition: succeeded()
+ steps:
+ - checkout: none # Use the drop from macOS_Build_and_UnitTests job
+ - template: templates/macos-functional-test-watchman.yml
+
- job: Windows_FunctionalTests
timeoutInMinutes: 30
variables:
diff --git a/.azure-pipelines/templates/macos-functional-test-watchman.yml b/.azure-pipelines/templates/macos-functional-test-watchman.yml
new file mode 100644
index 0000000000..2e739e3eeb
--- /dev/null
+++ b/.azure-pipelines/templates/macos-functional-test-watchman.yml
@@ -0,0 +1,60 @@
+steps:
+
+ - task: DotNetCoreInstaller@0
+ displayName: Use .NET Core SDK 2.1.301
+ inputs:
+ packageType: sdk
+ version: '2.1.301'
+
+ - bash: rm -rf $(Build.BinariesDirectory)/FunctionalTests_$(platformFriendlyName)_$(configuration)/BuildOutput/Git/*
+ displayName: Clean previous Git installations
+
+ - bash: brew install watchman
+ displayName: Install watchman
+
+ - task: DownloadBuildArtifacts@0
+ displayName: Download functional test drop
+ inputs:
+ buildType: current
+ downloadType: specific
+ artifactName: FunctionalTests_$(platformFriendlyName)_$(configuration)
+ downloadPath: $(Build.BinariesDirectory)
+
+ - bash: |
+ chmod +x $(Build.BinariesDirectory)/FunctionalTests_$(platformFriendlyName)_$(configuration)/src/Scripts/Mac/*.sh
+ chmod +x $(Build.BinariesDirectory)/FunctionalTests_$(platformFriendlyName)_$(configuration)/Publish/*
+ displayName: Ensure tests assets are executable
+
+ - bash: $(Build.BinariesDirectory)/FunctionalTests_$(platformFriendlyName)_$(configuration)/src/Scripts/Mac/CleanupFunctionalTests.sh
+ displayName: Clean environment
+
+ - bash: $(Build.BinariesDirectory)/FunctionalTests_$(platformFriendlyName)_$(configuration)/src/Scripts/Mac/PrepFunctionalTests.sh
+ displayName: Prep functional tests
+
+ - bash: $(Build.BinariesDirectory)/FunctionalTests_$(platformFriendlyName)_$(configuration)/src/Scripts/Mac/RunFunctionalTests.sh $(configuration) --trace2-output=$(Build.ArtifactStagingDirectory)/trace2-event-mac.txt
+ displayName: Run functional tests
+
+ - task: PublishTestResults@2
+ displayName: Publish functional test results
+ inputs:
+ testRunner: NUnit
+ testResultsFiles: "**\\TestResult*.xml"
+ searchFolder: $(System.DefaultWorkingDirectory)
+ testRunTitle: macOS $(configuration) Functional Tests
+ publishRunAttachments: true
+ condition: succeededOrFailed()
+
+ - task: PublishBuildArtifacts@1
+ displayName: Publish Git trace2 log
+ inputs:
+ pathtoPublish: '$(Build.ArtifactStagingDirectory)'
+ artifactName: trace2-event-mac.txt
+
+ - bash: $(Build.BinariesDirectory)/FunctionalTests_$(platformFriendlyName)_$(configuration)/src/Scripts/Mac/CleanupFunctionalTests.sh
+ displayName: Cleanup
+ condition: always()
+
+ - bash: sudo rm -rf $(Build.BinariesDirectory)/FunctionalTests_$(platformFriendlyName)_$(configuration)
+ displayName: Cleanup phase 2
+ condition: always()
+
diff --git a/Scalar.Build/Scalar.props b/Scalar.Build/Scalar.props
index 9d35d5b972..e837b040fc 100644
--- a/Scalar.Build/Scalar.props
+++ b/Scalar.Build/Scalar.props
@@ -3,7 +3,7 @@
0.2.173.2
- 2.20191025.1-sc
+ 2.20191104.1-sc