зеркало из https://github.com/akkadotnet/Hyperion.git
64 строки
2.3 KiB
YAML
64 строки
2.3 KiB
YAML
parameters:
|
|
name: ''
|
|
vmImage: ''
|
|
scriptFileName: ''
|
|
scriptArgs: 'all'
|
|
timeoutInMinutes: 120
|
|
outputDirectory: 'bin/nuget'
|
|
|
|
jobs:
|
|
- job: ${{ parameters.name }}
|
|
timeoutInMinutes: ${{ parameters.timeoutInMinutes }}
|
|
pool:
|
|
vmImage: ${{ parameters.vmImage }}
|
|
steps:
|
|
- checkout: self # self represents the repo where the initial Pipelines YAML file was found
|
|
clean: false # whether to fetch clean each time
|
|
submodules: recursive # set to 'true' for a single level of submodules or 'recursive' to get submodules of submodules
|
|
persistCredentials: true
|
|
- task: UseDotNet@2
|
|
displayName: 'Use .NET 5 SDK 5.0.408'
|
|
inputs:
|
|
version: 5.0.408
|
|
- task: UseDotNet@2
|
|
displayName: 'Use .NET Core Runtime 3.1.32'
|
|
inputs:
|
|
packageType: runtime
|
|
version: 3.1.32
|
|
# Linux or macOS
|
|
- task: Bash@3
|
|
displayName: Linux / OSX Build
|
|
inputs:
|
|
filePath: ${{ parameters.scriptFileName }}
|
|
arguments: ${{ parameters.scriptArgs }}
|
|
continueOnError: true
|
|
condition: in( variables['Agent.OS'], 'Linux', 'Darwin' )
|
|
# Windows
|
|
- task: BatchScript@1
|
|
displayName: Windows Build
|
|
inputs:
|
|
filename: ${{ parameters.scriptFileName }}
|
|
arguments: ${{ parameters.scriptArgs }}
|
|
continueOnError: true
|
|
condition: eq( variables['Agent.OS'], 'Windows_NT' )
|
|
- task: PublishTestResults@2
|
|
inputs:
|
|
testRunner: VSTest
|
|
testResultsFiles: '**/*.trx' #TestResults folder usually
|
|
testRunTitle: ${{ parameters.name }}
|
|
mergeTestResults: true
|
|
- task: CopyFiles@2
|
|
displayName: 'Copy Build Output'
|
|
inputs:
|
|
sourceFolder: ${{ parameters.outputDirectory }}
|
|
contents: '**\*'
|
|
targetFolder: $(Build.ArtifactStagingDirectory)
|
|
continueOnError: boolean # 'true' if future steps should run even if this step fails; defaults to 'false'
|
|
- task: PublishBuildArtifacts@1
|
|
inputs:
|
|
pathtoPublish: '$(Build.ArtifactStagingDirectory)'
|
|
artifactName: ${{ parameters.name }}
|
|
- script: 'echo 1>&2'
|
|
failOnStderr: true
|
|
displayName: 'If above is partially succeeded, then fail'
|
|
condition: eq(variables['Agent.JobStatus'], 'SucceededWithIssues') |