|
@@ -0,0 +1,94 @@
|
|
|
+# .NET Desktop
|
|
|
+# Build and run tests for .NET Desktop or Windows classic desktop solutions.
|
|
|
+# Add steps that publish symbols, save build artifacts, and more:
|
|
|
+# https://docs.microsoft.com/azure/devops/pipelines/apps/windows/dot-net
|
|
|
+
|
|
|
+trigger:
|
|
|
+- development
|
|
|
+
|
|
|
+pr: none
|
|
|
+
|
|
|
+pool:
|
|
|
+ vmImage: 'windows-latest'
|
|
|
+
|
|
|
+variables:
|
|
|
+ solution: '**/*.sln'
|
|
|
+ buildPlatform: 'x64'
|
|
|
+ buildConfiguration: 'Release'
|
|
|
+
|
|
|
+steps:
|
|
|
+- task: UseDotNet@2
|
|
|
+ inputs:
|
|
|
+ packageType: 'sdk'
|
|
|
+ version: '6.0.100'
|
|
|
+- task: NuGetToolInstaller@1
|
|
|
+
|
|
|
+- task: NuGetCommand@2
|
|
|
+ inputs:
|
|
|
+ restoreSolution: '$(solution)'
|
|
|
+
|
|
|
+- task: VSBuild@1
|
|
|
+ inputs:
|
|
|
+ solution: '$(solution)'
|
|
|
+ platform: '$(buildPlatform)'
|
|
|
+ configuration: '$(buildConfiguration)'
|
|
|
+
|
|
|
+- task: DotNetCoreCLI@2
|
|
|
+ displayName: "Build release PixiEditor.UpdateInstaller"
|
|
|
+ inputs:
|
|
|
+ command: 'publish'
|
|
|
+ publishWebProjects: false
|
|
|
+ projects: '**/PixiEditor.UpdateInstaller.csproj'
|
|
|
+ arguments: '-o "UpdateInstaller" -r "win-x64" --self-contained=false -p:PublishSingleFile=true -c Release'
|
|
|
+ zipAfterPublish: false
|
|
|
+
|
|
|
+- task: PowerShell@2
|
|
|
+ displayName: "Set tag version"
|
|
|
+ inputs:
|
|
|
+ filePath: 'assemblyVerReader.ps1'
|
|
|
+
|
|
|
+- task: DotNetCoreCLI@2
|
|
|
+ displayName: "Build release PixiEditor x64 light"
|
|
|
+ inputs:
|
|
|
+ command: 'publish'
|
|
|
+ publishWebProjects: false
|
|
|
+ projects: '**/PixiEditor.csproj'
|
|
|
+ arguments: >
|
|
|
+ -o "Builds\PixiEditor-x64-light" --self-contained=false -r "win-x64" -c 'Dev Release'
|
|
|
+ zipAfterPublish: false
|
|
|
+
|
|
|
+- task: ArchiveFiles@2
|
|
|
+ inputs:
|
|
|
+ rootFolderOrFile: 'Builds\PixiEditor-x64-light'
|
|
|
+ includeRootFolder: false
|
|
|
+ archiveType: 'zip'
|
|
|
+ archiveFile: 'PixiEditor.$(TagVersion).x64.zip'
|
|
|
+ replaceExistingArchive: true
|
|
|
+
|
|
|
+- task: PublishPipelineArtifact@1
|
|
|
+ displayName: "Publish zip artifact"
|
|
|
+ inputs:
|
|
|
+ targetPath: '$(System.DefaultWorkingDirectory)\PixiEditor.$(TagVersion).x64.zip'
|
|
|
+ artifact: 'PixiEditor.$(TagVersion).x64.zip'
|
|
|
+ publishLocation: 'pipeline'
|
|
|
+
|
|
|
+- task: CopyFiles@2
|
|
|
+ displayName: "Copy updater to PixiEditor target dir"
|
|
|
+ inputs:
|
|
|
+ SourceFolder: 'UpdateInstaller'
|
|
|
+ Contents: '**'
|
|
|
+ TargetFolder: 'Builds/PixiEditor-x64-light/PixiEditor'
|
|
|
+ flattenFolders: true
|
|
|
+
|
|
|
+- task: PowerShell@2
|
|
|
+ displayName: "Compile installer"
|
|
|
+ inputs:
|
|
|
+ targetType: 'inline'
|
|
|
+ script: '& "$env:userprofile\.nuget\packages\tools.innosetup\6.2.0\tools\ISCC.exe" Installer\installer-setup-x64-light.iss'
|
|
|
+
|
|
|
+- task: PublishPipelineArtifact@1
|
|
|
+ displayName: "Publish artifact"
|
|
|
+ inputs:
|
|
|
+ targetPath: 'Installer/Assets/PixiEditor-x64-light/'
|
|
|
+ artifact: 'PixiEditor-setup-x64.exe'
|
|
|
+ publishLocation: 'pipeline'
|