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