108 lines
2.5 KiB
YAML
108 lines
2.5 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*
|
|
|
|
pr:
|
|
branches:
|
|
include:
|
|
- master
|
|
- release*
|
|
- feature*
|
|
|
|
resources:
|
|
repositories:
|
|
- repository: ComplianceRepo
|
|
type: github
|
|
endpoint: PowerShell
|
|
name: PowerShell/compliance
|
|
ref: master
|
|
|
|
variables:
|
|
- name: repoFolder
|
|
value: PowerShell
|
|
|
|
jobs:
|
|
- job: CI_Compliance
|
|
displayName: CI Compliance
|
|
|
|
pool:
|
|
vmImage: windows-latest
|
|
|
|
variables:
|
|
- name: repoPath
|
|
value: $(Agent.BuildDirectory)\$(repoFolder)
|
|
|
|
steps:
|
|
- checkout: self
|
|
clean: true
|
|
path: $(repoFolder)
|
|
|
|
- checkout: ComplianceRepo
|
|
|
|
- template: ci-compliance.yml@ComplianceRepo
|
|
|
|
- job: Linux_CI
|
|
displayName: Markdown and Common Tests
|
|
|
|
pool:
|
|
vmImage: ubuntu-16.04
|
|
|
|
variables:
|
|
- name: repoPath
|
|
value: $(Agent.BuildDirectory)/$(repoFolder)
|
|
|
|
steps:
|
|
- checkout: self
|
|
clean: true
|
|
path: $(repoFolder)
|
|
|
|
- checkout: ComplianceRepo
|
|
|
|
- powershell: |
|
|
Get-ChildItem -Path env:
|
|
displayName: Capture Environment
|
|
condition: succeededOrFailed()
|
|
|
|
- powershell: |
|
|
Install-module Pester -Scope CurrentUser -Force -MaximumVersion 4.99
|
|
displayName: Install Pester
|
|
condition: succeededOrFailed()
|
|
|
|
- bash: |
|
|
curl -o- --progress-bar -L https://yarnpkg.com/install.sh | bash
|
|
displayName: Bootstrap Yarn
|
|
condition: succeededOrFailed()
|
|
|
|
- bash: |
|
|
sudo yarn global add markdown-spellcheck@0.11.0
|
|
displayName: Install mdspell
|
|
condition: succeededOrFailed()
|
|
|
|
- bash: |
|
|
mdspell '**/*.md' '!**/Pester/**/*.md' --ignore-numbers --ignore-acronyms --report --en-us;
|
|
displayName: Test Spelling in Markdown
|
|
condition: succeededOrFailed()
|
|
workingDirectory: '$(repoPath)'
|
|
|
|
- pwsh: |
|
|
Import-module ./build.psm1
|
|
$path = Join-Path -Path $pwd -ChildPath './commonTestResults.xml'
|
|
$results = invoke-pester -Script ./test/common -OutputFile $path -OutputFormat NUnitXml -PassThru
|
|
Write-Host "##vso[results.publish type=NUnit;mergeResults=true;runTitle=Common Tests;publishRunAttachments=true;resultFiles=$path;]"
|
|
if($results.TotalCount -eq 0 -or $results.FailedCount -gt 0)
|
|
{
|
|
throw "Markdown tests failed"
|
|
}
|
|
displayName: Run Common Tests
|
|
condition: succeededOrFailed()
|
|
workingDirectory: '$(repoPath)'
|
|
|
|
- template: dailyBuildCompliance.yml@ComplianceRepo
|
|
parameters:
|
|
sourceScanPath: '$(repoPath)'
|