PowerShell/.vsts-ci/mac.yml
2021-11-09 17:30:56 -08:00

107 lines
2.4 KiB
YAML

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