greenshot/azure-pipelines.yml

74 lines
2.3 KiB
YAML

# .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:
batch: true
branches:
include:
- 'develop'
exclude:
- 'release/1*'
pool:
vmImage: 'Windows-latest'
variables:
solution: 'src/Greenshot-Full.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
targetFramework: 'net5.0-windows'
steps:
- task: NuGetToolInstaller@1
- task: UseDotNet@2
displayName: 'Use .NET Core sdk 5.0'
inputs:
packageType: sdk
version: 5.0.100
- task: DotNetCoreCLI@2
displayName: Publish single-exe x64
inputs:
command: 'publish'
publishWebProjects: false
projects: 'src\Greenshot\Greenshot.csproj'
arguments: '-f $(targetFramework) -c Release /p:PublishSingleFile=true /p:IncludeAllContentForSelfExtract=True /p:RuntimeIdentifier=win-x64'
zipAfterPublish: false
- task: CmdLine@2
displayName: Rename single-exe x64
inputs:
script: 'rename $(Build.SourcesDirectory)\src\Greenshot\bin\Release\$(targetFramework)\win-x64\publish\Greenshot.exe Greenshot-x64.exe'
- task: DotNetCoreCLI@2
displayName: Publish single-exe x86
inputs:
command: 'publish'
publishWebProjects: false
projects: 'src\Greenshot\Greenshot.csproj'
arguments: '-f $(targetFramework) -c Release /p:PublishSingleFile=true /p:IncludeAllContentForSelfExtract=True /p:RuntimeIdentifier=win-x86'
zipAfterPublish: false
- task: CmdLine@2
displayName: Rename single-exe x86
inputs:
script: 'rename $(Build.SourcesDirectory)\src\Greenshot\bin\Release\$(targetFramework)\win-x86\publish\Greenshot.exe Greenshot-x86.exe'
- task: CopyFiles@2
displayName: 'Copy Files to: $(build.artifactstagingdirectory)'
inputs:
SourceFolder: '$(Build.SourcesDirectory)\src\Greenshot\bin\Release\$(targetFramework)'
Contents: |
win-x64\publish\Greenshot-x64.exe
win-x86\publish\Greenshot-x86.exe
TargetFolder: '$(build.artifactstagingdirectory)'
flattenFolders: true
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: drop'
inputs:
PathtoPublish: '$(build.artifactstagingdirectory)'