140 lines
4.0 KiB
YAML
140 lines
4.0 KiB
YAML
# Starter pipeline
|
|
# Start with a minimal pipeline that you can customize to build and deploy your code.
|
|
# Add steps that build, run tests, deploy, and more:
|
|
# https://aka.ms/yaml
|
|
|
|
name: $(TeamProject)_$(SourceBranchName)_$(Date:yyyyMMdd)$(Rev:.rr)
|
|
|
|
# Trigger CI on commit to master branch
|
|
trigger:
|
|
branches:
|
|
include:
|
|
- master
|
|
- PowerShellBackPort
|
|
|
|
# Trigger CI on pull requests to master and develop branches
|
|
pr:
|
|
- master
|
|
|
|
jobs:
|
|
# Windows PowerShell 5.1 Build Job
|
|
- job: Build_PS_Win2016
|
|
timeoutInMinutes: 10
|
|
cancelTimeoutInMinutes: 2
|
|
pool:
|
|
vmImage: vs2017-win2016
|
|
steps:
|
|
# Run build.ps1 script in PowerShell Core
|
|
- powershell: |
|
|
.\build.ps1 -Verbose
|
|
displayName: 'Build and Test'
|
|
# Upload test results to Azure Pipeline
|
|
- task: PublishTestResults@2
|
|
inputs:
|
|
testRunner: 'NUnit'
|
|
testResultsFiles: '**/RawTestResults.xml'
|
|
testRunTitle: 'PS_Win2016_Raw'
|
|
displayName: 'Publish Test Results'
|
|
condition: always()
|
|
- task: PublishTestResults@2
|
|
inputs:
|
|
testRunner: 'NUnit'
|
|
testResultsFiles: '**/BuiltTestResults.xml'
|
|
testRunTitle: 'PS_Win2016_Built'
|
|
displayName: 'Publish Test Results'
|
|
condition: always()
|
|
|
|
|
|
# Windows PowerShell Core Build Job
|
|
- job: Build_PSCore_Win2016
|
|
timeoutInMinutes: 10
|
|
cancelTimeoutInMinutes: 2
|
|
pool:
|
|
vmImage: vs2017-win2016
|
|
steps:
|
|
# Run build.ps1 script in PowerShell Core
|
|
- pwsh: |
|
|
.\build.ps1 -Verbose
|
|
displayName: 'Build and Test'
|
|
# Upload test results to Azure Pipeline
|
|
- task: PublishTestResults@2
|
|
inputs:
|
|
testRunner: 'NUnit'
|
|
testResultsFiles: '**/RawTestResults.xml'
|
|
testRunTitle: 'PSCore_Win2016_Raw'
|
|
displayName: 'Publish Test Results'
|
|
condition: always()
|
|
- task: PublishTestResults@2
|
|
inputs:
|
|
testRunner: 'NUnit'
|
|
testResultsFiles: '**/BuiltTestResults.xml'
|
|
testRunTitle: 'PSCore_Win2016_Built'
|
|
displayName: 'Publish Test Results'
|
|
condition: always()
|
|
|
|
# Linux Build Job
|
|
- job: Build_PSCore_Ubuntu1604
|
|
timeoutInMinutes: 10
|
|
cancelTimeoutInMinutes: 2
|
|
pool:
|
|
vmImage: ubuntu-16.04
|
|
steps:
|
|
# Run build.ps1 script in PowerShell Core
|
|
- pwsh: |
|
|
.\build.ps1 -verbose
|
|
displayName: 'Build and Test'
|
|
# Upload test results to Azure Pipeline
|
|
- task: PublishTestResults@2
|
|
inputs:
|
|
testRunner: 'NUnit'
|
|
testResultsFiles: '**/RawTestResults.xml'
|
|
testRunTitle: 'PSCore_Ubuntu_Raw'
|
|
displayName: 'Publish Test Results'
|
|
condition: always()
|
|
- task: PublishTestResults@2
|
|
inputs:
|
|
testRunner: 'NUnit'
|
|
testResultsFiles: '**/BuiltTestResults.xml'
|
|
testRunTitle: 'PSCore_Ubuntu_Built'
|
|
displayName: 'Publish Test Results'
|
|
condition: always()
|
|
- task: PublishPipelineArtifact@0
|
|
displayName: 'Publish compiled module Artifact'
|
|
inputs:
|
|
artifactName: 'ZertoApiWrapper'
|
|
targetPath: ./temp
|
|
condition: always()
|
|
- task: PublishPipelineArtifact@0
|
|
displayName: 'Publish Data'
|
|
inputs:
|
|
artifactName: 'ReleaseData'
|
|
targetPath: ./publish
|
|
condition: always()
|
|
|
|
# MacOS Build Job
|
|
- job: Build_PSCore_MacOS1013
|
|
timeoutInMinutes: 10
|
|
cancelTimeoutInMinutes: 2
|
|
pool:
|
|
vmImage: xcode9-macos10.13
|
|
steps:
|
|
# Run build.ps1 script in PowerShell Core
|
|
- pwsh: |
|
|
.\build.ps1 -verbose
|
|
displayName: 'Build and Test'
|
|
# Upload test results to Azure Pipeline
|
|
- task: PublishTestResults@2
|
|
inputs:
|
|
testRunner: 'NUnit'
|
|
testResultsFiles: '**/RawTestResults.xml'
|
|
testRunTitle: 'PSCore_MacOS1013_Raw'
|
|
displayName: 'Publish Test Results'
|
|
condition: always()
|
|
- task: PublishTestResults@2
|
|
inputs:
|
|
testRunner: 'NUnit'
|
|
testResultsFiles: '**/BuiltTestResults.xml'
|
|
testRunTitle: 'PSCore_MacOS1013_Built'
|
|
displayName: 'Publish Test Results'
|
|
condition: always()
|