winsw/eng/build.yml

81 lines
2.2 KiB
YAML

# https://docs.microsoft.com/azure/devops/pipelines/languages/dotnet-core
name: 3.0.0-alpha.$(Revision)
trigger:
- v3
pr:
- v3
variables:
- name: Revision
value: $[counter(3.0.0, 1)]
- name: BuildVersion
value: 3.0.0
- name: InformationalVersion # do not rename (MSBuild property)
value: 3.0.0+$(Build.SourceVersion)
pool:
vmImage: windows-latest
strategy:
matrix:
Debug:
BuildConfiguration: Debug
Release:
BuildConfiguration: Release
steps:
- task: UseDotNet@2
displayName: Install .NET SDK
inputs:
packageType: sdk
version: 6.x
- task: DotNetCoreCLI@2
displayName: Build
inputs:
command: build
projects: src\WinSW.sln
arguments: -c $(BuildConfiguration) -p:Version=$(BuildVersion)
- script: |
dotnet publish src\WinSW\WinSW.csproj -c $(BuildConfiguration) -f net6.0-windows -r win-x64 -p:Version=$(BuildVersion)
dotnet publish src\WinSW\WinSW.csproj -c $(BuildConfiguration) -f net6.0-windows -r win-x86 -p:Version=$(BuildVersion)
dotnet publish src\WinSW\WinSW.csproj -c $(BuildConfiguration) -f net6.0-windows -r win-arm64 -p:Version=$(BuildVersion)
displayName: Build
- task: DotNetCoreCLI@2
displayName: Test
inputs:
command: test
projects: src\WinSW.Tests\WinSW.Tests.csproj
arguments: -c $(BuildConfiguration) --collect "XPlat Code Coverage" --no-build
- task: NuGetToolInstaller@1
displayName: Install NuGet
inputs:
versionSpec: 6.x
- task: NuGetCommand@2
displayName: Pack
inputs:
command: pack
packagesToPack: WinSW.nuspec
versioningScheme: byEnvVar
versionEnvVar: BuildVersion
- publish: artifacts\publish\WinSW-net461.exe
artifact: WinSW-net461.exe_$(BuildConfiguration)
displayName: Publish .NET 4.6.1
- publish: artifacts\publish\WinSW-x64.exe
artifact: WinSW-x64.exe_$(BuildConfiguration)
displayName: Publish .NET x64 .exe
- publish: artifacts\publish\WinSW-x86.exe
artifact: WinSW-x86.exe_$(BuildConfiguration)
displayName: Publish .NET x86 .exe
- publish: artifacts\publish\WinSW-arm64.exe
artifact: WinSW-arm64.exe_$(BuildConfiguration)
displayName: Publish .NET arm64 .exe
- publish: $(Build.ArtifactStagingDirectory)\WinSW.$(BuildVersion).nupkg
artifact: WinSW.nupkg_$(BuildConfiguration)
displayName: Publish Nuget