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: - .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/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 __SuppressAnsiEscapeSequences: 1 resources: - repo: self clean: true stages: - stage: BuildLinux displayName: Build for Linux jobs: - template: templates/ci-build.yml parameters: pool: ubuntu-20.04 jobName: linux_build displayName: linux Build - stage: TestLinux displayName: Test for Linux jobs: - template: templates/nix-test.yml parameters: name: Linux pool: ubuntu-20.04 purpose: UnelevatedPesterTests tagSet: CI - template: templates/nix-test.yml parameters: name: Linux pool: ubuntu-20.04 purpose: ElevatedPesterTests tagSet: CI - template: templates/nix-test.yml parameters: name: Linux pool: ubuntu-20.04 purpose: UnelevatedPesterTests tagSet: Others - template: templates/nix-test.yml parameters: name: Linux pool: ubuntu-20.04 purpose: ElevatedPesterTests tagSet: Others - template: templates/verify-xunit.yml parameters: pool: ubuntu-20.04 - stage: PackageLinux displayName: Package Linux dependsOn: ["BuildLinux"] jobs: - template: linux/templates/packaging.yml parameters: pool: ubuntu-20.04 - 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: ubuntu-20.04 steps: - pwsh: | Import-Module .\tools\ci.psm1 New-CodeCoverageAndTestPackage displayName: CodeCoverage and Test Package