# 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_Windows timeoutInMinutes: 10 cancelTimeoutInMinutes: 2 pool: vmImage: windows-latest 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: '**/SourceTestResults.xml' testRunTitle: 'PS_Win2016_Source' 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_Windows timeoutInMinutes: 10 cancelTimeoutInMinutes: 2 pool: vmImage: windows-latest 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: '**/SourceTestResults.xml' testRunTitle: 'PSCore_Win2016_Source' 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_Ubuntu timeoutInMinutes: 10 cancelTimeoutInMinutes: 2 pool: vmImage: ubuntu-latest 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: '**/SourceTestResults.xml' testRunTitle: 'PSCore_Ubuntu_Source' 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_MacOS timeoutInMinutes: 10 cancelTimeoutInMinutes: 2 pool: vmImage: macOS-latest 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: '**/SourceTestResults.xml' testRunTitle: 'PSCore_MacOS1013_Source' 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()