windows-x64-release.yml 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. # .NET Desktop
  2. # Build and run tests for .NET Desktop or Windows classic desktop solutions.
  3. # Add steps that publish symbols, save build artifacts, and more:
  4. # https://docs.microsoft.com/azure/devops/pipelines/apps/windows/dot-net
  5. trigger:
  6. - release
  7. - cd-azure-pipelines
  8. pool:
  9. vmImage: 'windows-latest'
  10. variables:
  11. solution: '**/*.sln'
  12. buildPlatform: 'Any CPU'
  13. buildConfiguration: 'Release'
  14. steps:
  15. - task: NuGetToolInstaller@1
  16. - task: NuGetCommand@2
  17. inputs:
  18. restoreSolution: '$(solution)'
  19. - task: VSBuild@1
  20. inputs:
  21. solution: '$(solution)'
  22. platform: '$(buildPlatform)'
  23. configuration: '$(buildConfiguration)'
  24. - task: DotNetCoreCLI@2
  25. displayName: "Build release PixiEditor.UpdateInstaller"
  26. inputs:
  27. command: 'publish'
  28. publishWebProjects: false
  29. projects: '**/PixiEditor.UpdateInstaller.csproj'
  30. arguments: '-o "UpdateInstaller" -r "win-x64" --self-contained=false -p:PublishSingleFile=true -c Release'
  31. zipAfterPublish: false
  32. - task: PowerShell@2
  33. displayName: "Set tag version"
  34. inputs:
  35. filePath: 'assemblyVerReader.ps1'
  36. - task: DotNetCoreCLI@2
  37. displayName: "Build release PixiEditor Self-contained"
  38. inputs:
  39. command: 'publish'
  40. publishWebProjects: false
  41. projects: '**/PixiEditor.csproj'
  42. arguments: '-o "Builds/PixiEditor-x64" --self-contained=true -r "win-x64" -c Release'
  43. zipAfterPublish: false
  44. - task: CopyFiles@2
  45. displayName: "Copy updater to PixiEditor target dir"
  46. inputs:
  47. SourceFolder: 'UpdateInstaller'
  48. Contents: '**'
  49. TargetFolder: 'Builds/PixiEditor-x64'
  50. flattenFolders: true
  51. - task: PowerShell@2
  52. displayName: "Compile installer"
  53. inputs:
  54. targetType: 'inline'
  55. script: '& "$env:userprofile\.nuget\packages\tools.innosetup\6.0.5\tools\ISCC.exe" Installer\installer-setup-x64.iss'
  56. - task: PublishPipelineArtifact@1
  57. displayName: "Publish artifact"
  58. inputs:
  59. targetPath: 'Installer/Assets/PixiEditor-x64/'
  60. artifact: 'PixiEditor-setup-x64.exe'
  61. publishLocation: 'pipeline'
  62. - task: DotNetCoreCLI@2
  63. displayName: "Build release PixiEditor x64 light"
  64. inputs:
  65. command: 'publish'
  66. publishWebProjects: false
  67. projects: '**/PixiEditor.csproj'
  68. arguments: '-o "Builds\PixiEditor-x64-light" --self-contained=false -r "win-x64" -c Release'
  69. zipAfterPublish: false
  70. - task: ArchiveFiles@2
  71. inputs:
  72. rootFolderOrFile: 'Builds\PixiEditor-x64-light'
  73. includeRootFolder: true
  74. archiveType: 'zip'
  75. archiveFile: 'PixiEditor.$(TagVersion).x64.zip'
  76. replaceExistingArchive: true
  77. - task: PublishPipelineArtifact@1
  78. displayName: "Publish zip artifact"
  79. inputs:
  80. targetPath: '$(System.DefaultWorkingDirectory)\PixiEditor.$(TagVersion).x64.zip'
  81. artifact: 'PixiEditor.$(TagVersion).x64.zip'
  82. publishLocation: 'pipeline'
  83. - task: CopyFiles@2
  84. displayName: "Copy updater to PixiEditor target dir"
  85. inputs:
  86. SourceFolder: 'UpdateInstaller'
  87. Contents: '**'
  88. TargetFolder: 'Builds/PixiEditor-x64-light'
  89. flattenFolders: true
  90. - task: PowerShell@2
  91. displayName: "Compile installer"
  92. inputs:
  93. targetType: 'inline'
  94. script: '& "$env:userprofile\.nuget\packages\tools.innosetup\6.0.5\tools\ISCC.exe" Installer\installer-setup-x64-light.iss'
  95. - task: PublishPipelineArtifact@1
  96. displayName: "Publish artifact"
  97. inputs:
  98. targetPath: 'Installer/Assets/PixiEditor-x64-light/'
  99. artifact: 'PixiEditor-setup-x64-light.exe'
  100. publishLocation: 'pipeline'