dotnet-sdk/azure-pipelines.yml

101 lines
3.5 KiB
YAML

# dapr/dotnet-sdk pipeline
trigger:
branches:
include:
- master
tags:
include:
- v*
stages:
- stage: Build
jobs:
- job: 'build_projects'
pool:
vmImage: 'windows-2019'
strategy:
maxParallel: 2
matrix:
debug:
configuration: debug
release:
configuration: release
steps:
- uses: actions/setup-dotnet@v1
with:
dotnet-version: '3.1.x' # SDK Version to use; x will use the latest version of the 3.1 channel
- task: DotNetCoreCLI@2
displayName: 'Build solution - $(Configuration)'
inputs:
command: 'build'
arguments: '--configuration $(Configuration)'
projects: 'all.sln'
- task: DotNetCoreCLI@2
displayName: 'Test - $(Configuration)'
inputs:
command: 'test'
arguments: '--configuration $(Configuration)'
projects: 'test/test.sln'
- task: DotNetCoreCLI@2
displayName: 'Package Dapr.Actors nuget - $(Configuration)'
inputs:
command: 'pack'
arguments: '--configuration $(Configuration)'
packagesToPack: 'src/Dapr.Actors/Dapr.Actors.csproj'
nobuild: true
versioningScheme: 'off'
- task: DotNetCoreCLI@2
displayName: 'Package Dapr.Actors.AspNetCore nuget - $(Configuration)'
inputs:
command: 'pack'
arguments: '--configuration $(Configuration)'
packagesToPack: 'src/Dapr.Actors.AspNetCore/Dapr.Actors.AspNetCore.csproj'
nobuild: true
versioningScheme: 'off'
- task: DotNetCoreCLI@2
displayName: 'Package Dapr.Client nuget - $(Configuration)'
inputs:
command: 'pack'
arguments: '--configuration $(Configuration)'
packagesToPack: 'src/Dapr.Client/Dapr.Client.csproj'
nobuild: true
versioningScheme: 'off'
- task: DotNetCoreCLI@2
displayName: 'Package Dapr.AspNetCore nuget - $(Configuration)'
inputs:
command: 'pack'
arguments: '--configuration $(Configuration)'
packagesToPack: 'src/Dapr.AspNetCore/Dapr.AspNetCore.csproj'
nobuild: true
versioningScheme: 'off'
- task: DotNetCoreCLI@2
displayName: 'Package Dapr.Client.Grpc nuget - $(Configuration)'
- task: CopyFiles@2
condition: ne(variables['Build.Reason'], 'PullRequest')
inputs:
SourceFolder: 'bin/$(Configuration)'
Contents: '**'
TargetFolder: '$(Build.ArtifactStagingDirectory)'
- task: NuGetCommand@2
displayName: 'Publish nuget package to feed'
condition: false
inputs:
command: 'push'
packagesToPush: '$(Build.ArtifactStagingDirectory)/**/*.nupkg;!$(Build.ArtifactStagingDirectory)/**/*.symbols.nupkg'
nuGetFeedType: 'internal'
publishVstsFeed: 'b3bbc81a-4160-49ac-9a5f-5a27eda7ce5b'
allowPackageConflicts: true
- task: PublishBuildArtifacts@1
displayName: 'Publish binaries to artifact'
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: '$(Configuration)_drop'
publishLocation: 'Container'
- task: CmdLine@2
displayName: 'Add release tag for release branch'
condition: and(eq(variables['Configuration'], 'release'), startsWith(variables['Build.SourceBranch'], 'refs/tags/v'))
inputs:
script: 'echo "##vso[build.addbuildtag]release'
workingDirectory: '$(Build.ArtifactStagingDirectory)'