pcsx-redux/azure-pipelines.yml
2024-02-18 13:18:42 -08:00

111 lines
3 KiB
YAML

trigger:
- main
pool:
vmImage: 'windows-2022'
variables:
solution: 'vsprojects/pcsx-redux.sln'
buildConfiguration: 'ReleaseWithClangCL'
steps:
- checkout: self
submodules: recursive
- task: NuGetToolInstaller@1
- task: NuGetCommand@2
inputs:
restoreSolution: '$(solution)'
- task: PowerShell@2
inputs:
targetType: 'inline'
script: |
wget https://christiansoltenborn.gallerycdn.vsassets.io/extensions/christiansoltenborn/googletestadapter/0.17.1.1389/1571333606547/GoogleTestAdapter-0.17.1.vsix -OutFile GoogleTestAdapter-0.17.1.zip
- task: ExtractFiles@1
inputs:
archiveFilePatterns: 'GoogleTestAdapter-0.17.1.zip'
destinationFolder: 'GoogleTestAdapter'
cleanDestinationFolder: true
- task: CopyFiles@2
inputs:
Contents: |
LICENSE
i18n/*.po
TargetFolder: '$(build.artifactStagingDirectory)/assets'
- task: CopyFiles@2
inputs:
Contents: |
third_party/noto/*
TargetFolder: '$(build.artifactStagingDirectory)/assets/fonts'
FlattenFolders: true
- task: CopyFiles@2
inputs:
Contents: |
third_party/SDL_GameControllerDB/gamecontrollerdb.txt
TargetFolder: '$(build.artifactStagingDirectory)/assets'
FlattenFolders: true
- task: VSBuild@1
inputs:
solution: '$(solution)'
platform: 'x64'
maximumCpuCount: false
configuration: '$(buildConfiguration)'
- task: PowerShell@2
inputs:
targetType: 'inline'
script: |
Rename-Item -Path "vsprojects/x64/ReleaseWithClangCL/pcsx-redux.exe" -NewName "pcsx-redux.main"
Rename-Item -Path "vsprojects/x64/ReleaseWithClangCL/pcsx-wrapper.exe" -NewName "pcsx-redux.exe"
- task: CopyFiles@2
inputs:
Contents: |
vsprojects/x64/ReleaseWithClangCL/pcsx-redux.main
vsprojects/x64/ReleaseWithClangCL/pcsx-redux.exe
vsprojects/x64/ReleaseWithClangCL/crashpad_handler.exe
vsprojects/x64/ReleaseWithClangCL/exe2elf.exe
vsprojects/x64/ReleaseWithClangCL/exe2iso.exe
vsprojects/x64/ReleaseWithClangCL/modconv.exe
vsprojects/x64/ReleaseWithClangCL/ps1-packer.exe
vsprojects/x64/ReleaseWithClangCL/psyq-obj-parser.exe
vsprojects/x64/ReleaseWithClangCL/*.dll
TargetFolder: '$(build.artifactStagingDirectory)/binaries'
- task: CopyFiles@2
inputs:
Contents: |
vsprojects/x64/ReleaseWithClangCL/*.pdb
TargetFolder: '$(build.artifactStagingDirectory)/pdbs'
- task: VSTest@2
inputs:
testSelector: 'testAssemblies'
testAssemblyVer2: |
**\*.exe
!**\crashpad_handler.exe
!**\exe2elf.exe
!**\exe2iso.exe
!**\modconv.exe
!**\pcsx-redux.main
!**\pcsx-redux.exe
!**\pcsxrunner.exe
!**\ps1-packer.exe
!**\psyq-obj-parser.exe
!third_party\**\*.exe
searchFolder: '$(System.DefaultWorkingDirectory)'
pathtoCustomTestAdapters: 'GoogleTestAdapter'
codeCoverageEnabled: True
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
publishLocation: 'Container'