86 lines
2.7 KiB
YAML
86 lines
2.7 KiB
YAML
parameters:
|
|
additionalBuildArguments: ''
|
|
|
|
steps:
|
|
- checkout: self
|
|
submodules: true
|
|
clean: true
|
|
|
|
- task: NuGetToolInstaller@0
|
|
displayName: Ensure NuGet 4.8.1
|
|
inputs:
|
|
versionSpec: 4.8.1
|
|
|
|
- task: VisualStudioTestPlatformInstaller@1
|
|
displayName: Ensure VSTest Platform
|
|
|
|
# In the Microsoft Azure DevOps tenant, NuGetCommand is ambiguous.
|
|
# This should be `task: NuGetCommand@2`
|
|
- task: 333b11bd-d341-40d9-afcf-b32d5ce6f23b@2
|
|
displayName: Restore NuGet packages
|
|
inputs:
|
|
command: restore
|
|
feedsToUse: config
|
|
configPath: NuGet.config
|
|
restoreSolution: OpenConsole.sln
|
|
restoreDirectory: '$(Build.SourcesDirectory)\packages'
|
|
|
|
- task: VSBuild@1
|
|
displayName: 'Build solution **\OpenConsole.sln'
|
|
inputs:
|
|
solution: '**\OpenConsole.sln'
|
|
vsVersion: 15.0
|
|
platform: '$(BuildPlatform)'
|
|
configuration: '$(BuildConfiguration)'
|
|
msbuildArgs: ${{ parameters.additionalBuildArguments }}
|
|
clean: true
|
|
maximumCpuCount: true
|
|
|
|
- task: VSTest@2
|
|
displayName: 'Run Unit Tests'
|
|
inputs:
|
|
testAssemblyVer2: |
|
|
$(BUILD.SOURCESDIRECTORY)\**\*unit.test*.dll
|
|
!**\obj\**
|
|
runSettingsFile: '$(BUILD.SOURCESDIRECTORY)\src\unit.tests.$(BuildPlatform).runsettings'
|
|
codeCoverageEnabled: true
|
|
runInParallel: False
|
|
testRunTitle: 'Console Unit Tests'
|
|
platform: '$(BuildPlatform)'
|
|
configuration: '$(BuildConfiguration)'
|
|
condition: and(succeeded(), or(eq(variables['BuildPlatform'], 'x64'), eq(variables['BuildPlatform'], 'x86')))
|
|
|
|
- task: VSTest@2
|
|
displayName: 'Run Feature Tests (x64 only)'
|
|
inputs:
|
|
testAssemblyVer2: |
|
|
$(BUILD.SOURCESDIRECTORY)\**\*feature.test*.dll
|
|
!**\obj\**
|
|
runSettingsFile: '$(BUILD.SOURCESDIRECTORY)\src\unit.tests.$(BuildPlatform).runsettings'
|
|
codeCoverageEnabled: true
|
|
runInParallel: False
|
|
testRunTitle: 'Console Feature Tests'
|
|
platform: '$(BuildPlatform)'
|
|
configuration: '$(BuildConfiguration)'
|
|
condition: and(succeeded(), eq(variables['BuildPlatform'], 'x64'))
|
|
|
|
- task: CopyFiles@2
|
|
displayName: 'Copy *.appx/*.msix to Artifacts (Non-PR builds only)'
|
|
inputs:
|
|
Contents: |
|
|
**/*.appx
|
|
**/*.msix
|
|
**/*.appxsym
|
|
!**/Microsoft.VCLibs*.appx
|
|
TargetFolder: '$(Build.ArtifactStagingDirectory)/appx'
|
|
OverWrite: true
|
|
flattenFolders: true
|
|
condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest'))
|
|
|
|
- task: PublishBuildArtifacts@1
|
|
displayName: 'Publish Artifact (appx) (Non-PR builds only)'
|
|
inputs:
|
|
PathtoPublish: '$(Build.ArtifactStagingDirectory)/appx'
|
|
ArtifactName: 'appx-$(BuildConfiguration)'
|
|
condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest'))
|