123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- # .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:
- - group: Release Secrets
- - name: solution
- value: '**/*.sln'
- - name: archNumber
- value: '86'
- - name: architecture
- value: 'x$(archNumber)'
- - name: buildPlatform
- value: 'win-$(architecture)'
- - name: buildConfiguration
- value: 'DevRelease'
- steps:
- - task: UseDotNet@2
- inputs:
- packageType: 'sdk'
- version: '7.0.203'
- - task: NuGetToolInstaller@1
- - task: NuGetCommand@2
- inputs:
- restoreSolution: '$(solution)'
- - task: DotNetCoreCLI@2
- displayName: "Build PixiEditor Solution"
- inputs:
- command: 'build'
- projects: 'src/PixiEditor'
- arguments: '-r "$(buildPlatform)" -c $(buildConfiguration)'
- - task: DotNetCoreCLI@2
- displayName: "Build release PixiEditor.UpdateInstaller"
- inputs:
- command: 'publish'
- publishWebProjects: false
- projects: '**/PixiEditor.UpdateInstaller.csproj'
- arguments: '-o "UpdateInstaller" -r "$(buildPlatform)" --self-contained=false -p:PublishSingleFile=true -c $(buildConfiguration)'
- zipAfterPublish: false
- - task: PowerShell@2
- displayName: "Set tag version"
- inputs:
- filePath: 'assemblyVerReader.ps1'
- - task: PowerShell@2
- displayName: Publish PixiEditor
- inputs:
- filePath: 'src/PixiEditor.Builder/build.ps1'
- arguments: '--project-path "$(System.DefaultWorkingDirectory)\src\PixiEditor" --build-configuration "$(buildConfiguration)" --runtime "$(buildPlatform)" -o "$(System.DefaultWorkingDirectory)\Builds\PixiEditor-$(architecture)-light\PixiEditor" --crash-report-webhook-url "$(crash-webhook-url)"'
- workingDirectory: 'src/PixiEditor.Builder'
- - task: ArchiveFiles@2
- inputs:
- rootFolderOrFile: 'Builds\PixiEditor-$(architecture)-light'
- includeRootFolder: false
- archiveType: 'zip'
- archiveFile: 'PixiEditor.$(TagVersion).$(architecture).zip'
- replaceExistingArchive: true
- - task: PublishPipelineArtifact@1
- displayName: "Publish zip artifact"
- inputs:
- targetPath: '$(System.DefaultWorkingDirectory)\PixiEditor.$(TagVersion).$(architecture).zip'
- artifact: 'PixiEditor.$(TagVersion).$(architecture).zip'
- publishLocation: 'pipeline'
- - task: CopyFiles@2
- displayName: "Copy updater to PixiEditor target dir"
- inputs:
- SourceFolder: 'UpdateInstaller'
- Contents: '**'
- TargetFolder: 'Builds/PixiEditor-$(architecture)-light/PixiEditor'
- flattenFolders: true
- - task: PowerShell@2
- displayName: "Compile installer"
- inputs:
- targetType: 'inline'
- script: '& "$env:userprofile\.nuget\packages\tools.innosetup\6.2.1\tools\ISCC.exe" src\Installer\installer-setup-$(architecture)-light.iss'
- - task: PublishPipelineArtifact@1
- displayName: "Publish artifact"
- inputs:
- targetPath: 'src/Installer/Assets/PixiEditor-$(architecture)-light/'
- artifact: 'PixiEditor-setup-$(architecture).exe'
- publishLocation: 'pipeline'
- - task: ArchiveFiles@2
- displayName: "Create zipped installer"
- inputs:
- rootFolderOrFile: 'src/Installer/Assets/PixiEditor-$(architecture)-light'
- includeRootFolder: false
- archiveType: 'zip'
- archiveFile: '$(Build.ArtifactStagingDirectory)/PixiEditor-$(TagVersion)-setup$(archNumber).zip'
- replaceExistingArchive: true
- - task: PublishPipelineArtifact@1
- displayName: "Publish installer zip artifact"
- inputs:
- targetPath: '$(Build.ArtifactStagingDirectory)/PixiEditor-$(TagVersion)-setup$(archNumber).zip'
- artifact: 'PixiEditor-$(TagVersion)-setup$(archNumber).zip'
- publishLocation: 'pipeline'
|