From 455cf134b3073d109d195377c9e3384f4715a5d9 Mon Sep 17 00:00:00 2001 From: Daniel Jurek Date: Fri, 7 Aug 2020 12:07:14 -0700 Subject: [PATCH] Add CHANGELOG enforcement to release process (#413) * Add CHANGELOG enforcement to release process * Test: validate test failure if no changelog entry present * Disable release and use an echo instead. Revert before publishing * add entry for 1.0.0-dev.1 with no release date (expect failure) * Add date but no content (expect failure) * adding content, expect validation to pass * Revert changes used for testing * Revert "Test: validate test failure if no changelog entry present" This reverts commit a702f0053bb60839ff722a5656d90c75568b7ca9. * Use Powershell@2 task instead of pwsh for better debugging * Update version and disable actual release tagging for validation of Powershell@2 task changes * Revert "Update version and disable actual release tagging for validation of Powershell@2 task changes" This reverts commit 53bfd04746cc9d0060fa8dd29b4acfcacd015add. --- .../templates/stages/archetype-cpp-release.yml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/eng/pipelines/templates/stages/archetype-cpp-release.yml b/eng/pipelines/templates/stages/archetype-cpp-release.yml index 4868a0ba3..02b8e633d 100644 --- a/eng/pipelines/templates/stages/archetype-cpp-release.yml +++ b/eng/pipelines/templates/stages/archetype-cpp-release.yml @@ -26,7 +26,15 @@ stages: - checkout: self - pwsh: Get-ChildItem -Recurse $(Pipeline.Workspace)/packages/${{artifact.Name}} displayName: Output Visible Artifacts - + - task: Powershell@2 + inputs: + filePath: $(Build.SourcesDirectory)/eng/common/scripts/Verify-ChangeLog.ps1 + arguments: > + -ChangeLogLocation $(Pipeline.Workspace)/packages/${{artifact.Name}}/CHANGELOG.md + -VersionString (Get-Content $(Pipeline.Workspace)/packages/${{artifact.Name}}/package-info.json | ConvertFrom-Json).version + -ForRelease $true + pwsh: true + displayName: Verify CHANGELOG.md contents - template: /eng/common/pipelines/templates/steps/create-tags-and-git-release.yml parameters: ArtifactLocation: "$(Pipeline.Workspace)/packages/${{artifact.Name}}"