Update build.yml (#748)

pull/719/head
Next Turn 2020-12-25 00:16:21 +08:00 committed by GitHub
parent 8cc17b5aa6
commit 4f7e623602
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 58 additions and 64 deletions

View File

@ -17,75 +17,69 @@ variables:
- name: InformationalVersion # do not rename (MSBuild property) - name: InformationalVersion # do not rename (MSBuild property)
value: $(Major).$(Minor).$(Patch)+$(Build.SourceVersion) value: $(Major).$(Minor).$(Patch)+$(Build.SourceVersion)
jobs: pool:
- job: Build vmImage: windows-latest
pool: strategy:
vmImage: windows-latest matrix:
strategy: Debug:
matrix: BuildConfiguration: Debug
Debug: Release:
BuildConfiguration: Debug BuildConfiguration: Release
Release: steps:
BuildConfiguration: Release - task: DotNetCoreCLI@2
steps: displayName: Build
- task: DotNetCoreCLI@2 inputs:
displayName: Build command: build
inputs: projects: src\WinSW.sln
command: build arguments: -c $(BuildConfiguration) -p:Version=$(BuildVersion)
projects: src\WinSW.sln - script: |
arguments: -c $(BuildConfiguration) -p:Version=$(BuildVersion) dotnet publish -c $(BuildConfiguration) -f net5.0-windows -r win-x64 src\WinSW\WinSW.csproj -p:PublishSingleFile=true -p:PublishTrimmed=true -p:Version=$(BuildVersion)
- script: | dotnet publish -c $(BuildConfiguration) -f net5.0-windows -r win-x86 src\WinSW\WinSW.csproj -p:PublishSingleFile=true -p:PublishTrimmed=true -p:Version=$(BuildVersion)
dotnet publish -c $(BuildConfiguration) -f net5.0-windows -r win-x64 src\WinSW\WinSW.csproj -p:PublishSingleFile=true -p:PublishTrimmed=true -p:Version=$(BuildVersion) displayName: Build
dotnet publish -c $(BuildConfiguration) -f net5.0-windows -r win-x86 src\WinSW\WinSW.csproj -p:PublishSingleFile=true -p:PublishTrimmed=true -p:Version=$(BuildVersion) - script: dotnet test -c $(BuildConfiguration) --collect "XPlat Code Coverage" --no-build src\WinSW.Tests\WinSW.Tests.csproj
displayName: Build displayName: Test
- script: dotnet test -c $(BuildConfiguration) --collect "XPlat Code Coverage" --no-build src\WinSW.Tests\WinSW.Tests.csproj - task: NuGetCommand@2
displayName: Test displayName: Pack
- task: NuGetToolInstaller@1 inputs:
displayName: Install Nuget command: pack
inputs: packagesToPack: WinSW.nuspec
checkLatest: true versioningScheme: byEnvVar
- task: NuGetCommand@2 versionEnvVar: BuildVersion
displayName: Pack - script: dotnet tool restore
inputs: displayName: Restore tools
command: pack - script: dotnet tool run codecov -- -f "src\**\TestResults\*\coverage.cobertura.xml" --required
packagesToPack: WinSW.nuspec displayName: Upload code coverage reports
versioningScheme: byEnvVar
versionEnvVar: BuildVersion
- script: dotnet tool restore
displayName: Restore tools
- script: dotnet tool run codecov -- -f "src\**\TestResults\*\coverage.cobertura.xml" --required
displayName: Upload code coverage reports
- publish: artifacts\publish\WinSW.NET2.exe - publish: artifacts\publish\WinSW.NET2.exe
artifact: WinSW.NET2.exe_$(BuildConfiguration) artifact: WinSW.NET2.exe_$(BuildConfiguration)
displayName: Publish .NET 2.0 displayName: Publish .NET 2.0
- publish: artifacts\publish\WinSW.NET4.exe - publish: artifacts\publish\WinSW.NET4.exe
artifact: WinSW.NET4.exe_$(BuildConfiguration) artifact: WinSW.NET4.exe_$(BuildConfiguration)
displayName: Publish .NET 4.0 displayName: Publish .NET 4.0
- publish: artifacts\publish\WinSW.NET461.exe - publish: artifacts\publish\WinSW.NET461.exe
artifact: WinSW.NET461.exe_$(BuildConfiguration) artifact: WinSW.NET461.exe_$(BuildConfiguration)
displayName: Publish .NET 4.6.1 displayName: Publish .NET 4.6.1
- publish: artifacts\publish\WinSW-x64.exe - publish: artifacts\publish\WinSW-x64.exe
artifact: WinSW-x64.exe_$(BuildConfiguration) artifact: WinSW-x64.exe_$(BuildConfiguration)
displayName: Publish .NET Core x64 displayName: Publish .NET Core x64
- publish: artifacts\publish\WinSW-x86.exe - publish: artifacts\publish\WinSW-x86.exe
artifact: WinSW-x86.exe_$(BuildConfiguration) artifact: WinSW-x86.exe_$(BuildConfiguration)
displayName: Publish .NET Core x86 displayName: Publish .NET Core x86
- publish: $(Build.ArtifactStagingDirectory)\WinSW.$(BuildVersion).nupkg - publish: $(Build.ArtifactStagingDirectory)\WinSW.$(BuildVersion).nupkg
artifact: WinSW.nupkg_$(BuildConfiguration) artifact: WinSW.nupkg_$(BuildConfiguration)
displayName: Publish Nuget displayName: Publish Nuget
- publish: examples\sample-allOptions.xml - publish: examples\sample-allOptions.xml
artifact: sample-allOptions.xml artifact: sample-allOptions.xml
displayName: Publish full sample displayName: Publish full sample
condition: and(succeeded(), eq(variables['BuildConfiguration'], 'Release')) condition: and(succeeded(), eq(variables['BuildConfiguration'], 'Release'))
- publish: examples\sample-minimal.xml - publish: examples\sample-minimal.xml
artifact: sample-minimal.xml artifact: sample-minimal.xml
displayName: Publish minimal sample displayName: Publish minimal sample
condition: and(succeeded(), eq(variables['BuildConfiguration'], 'Release')) condition: and(succeeded(), eq(variables['BuildConfiguration'], 'Release'))