## PR Summary Batch merge builds together while a merge build is running ## PR Context Help keep agents available for CI runs.
94 lines
2.7 KiB
YAML
94 lines
2.7 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*
|
|
paths:
|
|
include:
|
|
- '*'
|
|
exclude:
|
|
- /tools/releaseBuild/**/*
|
|
- /.vsts-ci/misc-analysis.yml
|
|
pr:
|
|
branches:
|
|
include:
|
|
- master
|
|
- release*
|
|
paths:
|
|
include:
|
|
- '*'
|
|
exclude:
|
|
- /tools/releaseBuild/**/*
|
|
- /.vsts-ci/misc-analysis.yml
|
|
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
|
|
# Enable VSTS debug mode until stabilitized
|
|
system.debug: 'true'
|
|
|
|
resources:
|
|
- repo: self
|
|
clean: true
|
|
jobs:
|
|
- job: macOS_CI
|
|
|
|
pool:
|
|
name: Hosted macOS
|
|
|
|
timeoutInMinutes: 120
|
|
|
|
steps:
|
|
- powershell: |
|
|
Get-ChildItem -Path env:
|
|
displayName: Capture environment
|
|
condition: succeededOrFailed()
|
|
|
|
- powershell: Write-Host "##vso[build.updatebuildnumber]$env:BUILD_SOURCEBRANCHNAME-$env:BUILD_SOURCEVERSION-$((get-date).ToString("yyyyMMddhhmmss"))"
|
|
displayName: Set Build Name for Non-PR
|
|
condition: ne(variables['Build.Reason'], 'PullRequest')
|
|
|
|
- powershell: |
|
|
Import-Module $(Build.SourcesDirectory)/build.psm1 -Force
|
|
New-NugetConfigFile -NugetFeedUrl $(AzDevOpsFeed) -UserName $(AzDevOpsFeedUserName) -ClearTextPAT $(AzDevOpsFeedPAT) -FeedName AzDevOpsFeed -Destination $(Build.SourcesDirectory)/src/Modules
|
|
|
|
if(-not (Test-Path "$(Build.SourcesDirectory)/src/Modules/nuget.config"))
|
|
{
|
|
throw "nuget.config is not created"
|
|
}
|
|
displayName: 'Add nuget.config for AzDevOps feed for PSGallery modules '
|
|
condition: and(succeededOrFailed(), ne(variables['AzDevOpsFeed'], ''))
|
|
|
|
- powershell: |
|
|
tools/travis.ps1 -Stage Bootstrap
|
|
displayName: Bootstrap
|
|
condition: succeeded()
|
|
|
|
- powershell: |
|
|
$ErrorActionPreference = 'continue'
|
|
tools/travis.ps1 -NugetKey $(NUGET_KEY)
|
|
displayName: Build and test
|
|
condition: succeeded()
|
|
|
|
- powershell: |
|
|
tools/travis.ps1 -Stage Failure
|
|
displayName: After Failure
|
|
condition: failed()
|
|
|
|
- powershell: |
|
|
tools/travis.ps1 -Stage Success
|
|
displayName: After Success
|
|
condition: succeeded()
|
|
|
|
# Uploads any packages as an artifact
|
|
- powershell: |
|
|
Get-ChildItem -Path *.pkg, *.tar.gz, TestPackage.zip -Recurse | Select-Object -ExpandProperty FullName | ForEach-Object {
|
|
Write-Host "##vso[artifact.upload containerfolder=artifacts;artifactname=artifacts]$_"
|
|
}
|
|
displayName: Publish Artifacts
|
|
condition: ne(variables['Build.Reason'], 'PullRequest')
|
|
continueOnError: true
|