diff --git a/WireMock.Net Solution.sln b/WireMock.Net Solution.sln index 14ca823f..78bd76fe 100644 --- a/WireMock.Net Solution.sln +++ b/WireMock.Net Solution.sln @@ -9,6 +9,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution ProjectSection(SolutionItems) = preProject .runsettings = .runsettings azure-pipelines-linux.yml = azure-pipelines-linux.yml + azure-pipelines-nuget.yml = azure-pipelines-nuget.yml azure-pipelines.yml = azure-pipelines.yml build-info.md = build-info.md CHANGELOG.md = CHANGELOG.md diff --git a/azure-pipelines-nuget.yml b/azure-pipelines-nuget.yml new file mode 100644 index 00000000..1b1a8e51 --- /dev/null +++ b/azure-pipelines-nuget.yml @@ -0,0 +1,46 @@ +pool: + vmImage: 'vs2017-win2016' + +variables: + Prerelease: 'ci' + buildId: "1$(Build.BuildId)" + buildProjects: '**/src/**/*.csproj' + +steps: +# Print buildId +- script: | + echo "BuildId = $(buildId)" + displayName: 'Print buildId' + +# Based on https://whereslou.com/2018/09/versioning-and-publishing-nuget-packages-automatically-using-azure-devops-pipelines/ +- task: DotNetCoreCLI@2 + displayName: Build Release + inputs: + command: 'build' + arguments: /p:Configuration=Release # https://github.com/MicrosoftDocs/vsts-docs/issues/1976 + projects: $(buildProjects) + +- task: DotNetCoreCLI@2 + displayName: Pack + condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest')) # Do not run for PullRequests + inputs: + command: pack + configuration: 'Release' + packagesToPack: $(buildProjects) + nobuild: true + packDirectory: '$(Build.ArtifactStagingDirectory)/packages' + verbosityPack: 'normal' + +- task: PublishBuildArtifacts@1 + displayName: Publish Artifacts + condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest')) # Do not run for PullRequests + inputs: + PathtoPublish: '$(Build.ArtifactStagingDirectory)' + +- task: DotNetCoreCLI@2 + displayName: Push to NuGet + condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest')) # Do not run for PullRequests + inputs: + command: custom + custom: nuget + arguments: push $(Build.ArtifactStagingDirectory)\packages\*.nupkg --source https://api.nuget.org/v3/index.json --nuget-api-key $(NuGetKey) --skip-duplicate \ No newline at end of file