name: PR-$(System.PullRequest.PullRequestNumber)-$(Date:yyyyMMdd)$(Rev:.rr) trigger: # Batch merge builds together while a merge build is running batch: true branches: include: - master - release* - feature* paths: include: - '*' exclude: - tools/releaseBuild/**/* - .vsts-ci/misc-analysis.yml - .github/ISSUE_TEMPLATE/* - .dependabot/config.yml - test/perf/* pr: branches: include: - master - release* - feature* paths: include: - '*' exclude: - .dependabot/config.yml - .github/ISSUE_TEMPLATE/* - .vsts-ci/misc-analysis.yml - .vsts-ci/windows.yml - .vsts-ci/windows/* - cgmanifest.json - LICENSE.txt - test/common/markdown/* - test/perf/* - tools/packaging/* - tools/releaseBuild/* - tools/releaseBuild/azureDevOps/templates/* - README.md - .spelling variables: DOTNET_CLI_TELEMETRY_OPTOUT: 1 POWERSHELL_TELEMETRY_OPTOUT: 1 # Avoid expensive initialization of dotnet cli, see: https://donovanbrown.com/post/Stop-wasting-time-during-NET-Core-builds DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1 # Turn off Homebrew analytics HOMEBREW_NO_ANALYTICS: 1 __SuppressAnsiEscapeSequences: 1 resources: - repo: self clean: true stages: - stage: BuildMac displayName: Build for macOS jobs: - template: templates/ci-build.yml parameters: pool: macOS-latest jobName: mac_build displayName: macOS Build - stage: TestMac displayName: Test for macOS jobs: - template: templates/nix-test.yml parameters: purpose: UnelevatedPesterTests tagSet: CI - template: templates/nix-test.yml parameters: purpose: ElevatedPesterTests tagSet: CI - template: templates/nix-test.yml parameters: purpose: UnelevatedPesterTests tagSet: Others - template: templates/nix-test.yml parameters: purpose: ElevatedPesterTests tagSet: Others - template: templates/verify-xunit.yml parameters: pool: macOS-latest - stage: CodeCovTestPackage displayName: CodeCoverage and Test Packages dependsOn: [] # by specifying an empty array, this stage doesn't depend on the stage before it jobs: - job: CodeCovTestPackage displayName: CodeCoverage and Test Packages pool: vmImage: macOS-latest steps: - pwsh: | Import-Module .\tools\ci.psm1 New-CodeCoverageAndTestPackage displayName: CodeCoverage and Test Package