# 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) jobs: - job: Build pool: vmImage: windows-latest strategy: matrix: Debug: BuildConfiguration: Debug Release: BuildConfiguration: Release steps: - task: UseDotNet@2 displayName: Install .NET SDK inputs: packageType: sdk version: 5.x includePreviewVersions: true - task: DotNetCoreCLI@2 displayName: Build inputs: command: build projects: src\WinSW.sln arguments: -c $(BuildConfiguration) -p:Version=$(BuildVersion) - script: | dotnet publish -c $(BuildConfiguration) -f netcoreapp3.1 -r win-x64 src\WinSW\WinSW.csproj -p:Version=$(BuildVersion) dotnet publish -c $(BuildConfiguration) -f netcoreapp3.1 -r win-x86 src\WinSW\WinSW.csproj -p:Version=$(BuildVersion) dotnet publish -c $(BuildConfiguration) -f netcoreapp3.1 -r win-x64 src\WinSW\WinSW.csproj -p:PublishSingleFile=true -p:Version=$(BuildVersion) dotnet publish -c $(BuildConfiguration) -f netcoreapp3.1 -r win-x86 src\WinSW\WinSW.csproj -p:PublishSingleFile=true -p:Version=$(BuildVersion) displayName: Build - task: DotNetCoreCLI@2 displayName: Test inputs: command: test projects: src\WinSW.Tests\WinSW.Tests.csproj arguments: -c $(BuildConfiguration) --no-build - task: NuGetToolInstaller@1 displayName: Install Nuget inputs: checkLatest: true - task: NuGetCommand@2 displayName: Pack inputs: command: pack packagesToPack: WinSW.nuspec versioningScheme: byEnvVar versionEnvVar: BuildVersion - publish: artifacts\WinSW.NET461.exe artifact: WinSW.NET461.exe_$(BuildConfiguration) displayName: Publish .NET 4.6.1 - publish: artifacts\WinSW.NETCore.x64.zip artifact: WinSW.NETCore.x64.zip_$(BuildConfiguration) displayName: Publish .NET Core x64 .zip - publish: artifacts\WinSW.NETCore.x86.zip artifact: WinSW.NETCore.x86.zip_$(BuildConfiguration) displayName: Publish .NET Core x86 .zip - publish: artifacts\WinSW.NETCore.x64.exe artifact: WinSW.NETCore.x64.exe_$(BuildConfiguration) displayName: Publish .NET Core x64 .exe - publish: artifacts\WinSW.NETCore.x86.exe artifact: WinSW.NETCore.x86.exe_$(BuildConfiguration) displayName: Publish .NET Core x86 .exe - publish: $(Build.ArtifactStagingDirectory)\WinSW.$(BuildVersion).nupkg artifact: WinSW.nupkg_$(BuildConfiguration) displayName: Publish Nuget