PowerShell/.vsts-ci/windows-daily.yml

133 lines
4.1 KiB
YAML
Raw Normal View History

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*
2019-05-16 19:30:50 +02:00
- feature*
paths:
include:
- '*'
exclude:
- /.vsts-ci/misc-analysis.yml
- /.github/ISSUE_TEMPLATE/*
2019-05-16 19:30:50 +02:00
- /.dependabot/config.yml
pr:
branches:
include:
- master
- release*
2019-05-16 19:30:50 +02:00
- feature*
paths:
include:
- '*'
exclude:
- /.vsts-ci/misc-analysis.yml
- /.github/ISSUE_TEMPLATE/*
2019-05-16 19:30:50 +02:00
- /.dependabot/config.yml
variables:
GIT_CONFIG_PARAMETERS: "'core.autocrlf=false'"
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
2019-05-16 19:30:50 +02:00
stages:
- stage: BuildWin
displayName: Build for Windows
jobs:
- template: templates/ci-build.yml
2019-05-16 19:30:50 +02:00
- stage: TestWin
displayName: Test for Windows
jobs:
- job: win_test
pool:
vmImage: vs2017-win2016
displayName: Windows Test
steps:
- pwsh: |
Get-ChildItem -Path env:
displayName: 'Capture Environment'
condition: succeededOrFailed()
- task: DownloadBuildArtifacts@0
displayName: 'Download Build Artifacts'
inputs:
downloadType: specific
itemPattern: |
build/**/*
xunit/**/*
downloadPath: '$(System.ArtifactsDirectory)'
- pwsh: |
Get-ChildItem "$(System.ArtifactsDirectory)\*" -Recurse
displayName: 'Capture Artifacts Directory'
continueOnError: true
# must be run frow Windows PowerShell
- powershell: |
Import-Module .\tools\ci.psm1
Invoke-CIInstall
displayName: Bootstrap
condition: succeededOrFailed()
- pwsh: |
Import-Module .\build.psm1
Restore-PSOptions -PSOptionsPath '$(System.ArtifactsDirectory)\build\psoptions.json'
$path = Split-Path -Parent (Get-PSOutput -Options (Get-PSOptions))
$rootPath = Split-Path -Path $path
Expand-Archive -Path '$(System.ArtifactsDirectory)\build\build.zip' -DestinationPath $rootPath -Force
displayName: 'Unzip Build'
condition: succeeded()
- pwsh: |
Import-Module .\tools\ci.psm1
Restore-PSOptions -PSOptionsPath '$(System.ArtifactsDirectory)\build\psoptions.json'
Invoke-CITest -Purpose UnelevatedPesterTests -TagSet CI
displayName: Test - UnelevatedPesterTests - CI
condition: succeeded()
- pwsh: |
Import-Module .\tools\ci.psm1
Restore-PSOptions -PSOptionsPath '$(System.ArtifactsDirectory)\build\psoptions.json'
Invoke-CITest -Purpose ElevatedPesterTests -TagSet CI
displayName: Test - ElevatedPesterTests - CI
condition: succeededOrFailed()
- pwsh: |
Import-Module .\tools\ci.psm1
Restore-PSOptions -PSOptionsPath '$(System.ArtifactsDirectory)\build\psoptions.json'
Invoke-CITest -Purpose UnelevatedPesterTests -TagSet Others
displayName: Test - UnelevatedPesterTests - Others
condition: succeededOrFailed()
- pwsh: |
Import-Module .\tools\ci.psm1
Restore-PSOptions -PSOptionsPath '$(System.ArtifactsDirectory)\build\psoptions.json'
Invoke-CITest -Purpose ElevatedPesterTests -TagSet Others
displayName: Test - ElevatedPesterTests - Others
condition: succeededOrFailed()
- pwsh: |
Import-Module .\build.psm1
$xUnitTestResultsFile = "$(System.ArtifactsDirectory)\xunit\xUnitTestResults.xml"
Test-XUnitTestResults -TestResultsFile $xUnitTestResultsFile
displayName: Verify xUnit Test Results
condition: succeededOrFailed()
2019-05-16 19:30:50 +02:00
- stage: PackagingWin
displayName: Packaging for Windows
jobs:
# Unlike daily builds, we do not upload nuget package to MyGet so we do not wait on tests to finish.
- template: templates/windows-packaging.yml