From 0c9a72f3af01c502c383075c507d02576b720218 Mon Sep 17 00:00:00 2001 From: Scott Beddall Date: Tue, 12 May 2020 14:50:47 -0700 Subject: [PATCH 01/14] docs ms release --- .../stages/archetype-python-release.yml | 42 ++++++++++++++++++- .../templates/stages/archetype-sdk-client.yml | 7 +++- 2 files changed, 46 insertions(+), 3 deletions(-) diff --git a/eng/pipelines/templates/stages/archetype-python-release.yml b/eng/pipelines/templates/stages/archetype-python-release.yml index 0f26e8b47bd9..43bb7cad34ac 100644 --- a/eng/pipelines/templates/stages/archetype-python-release.yml +++ b/eng/pipelines/templates/stages/archetype-python-release.yml @@ -4,6 +4,8 @@ parameters: DependsOn: Build DocArtifact: 'documentation' DevFeedName: public/azure-sdk-for-python + TargetDocRepoOwner: '' + TargetDocRepoName: '' stages: - ${{if and(eq(variables['Build.Reason'], 'Manual'), eq(variables['System.TeamProject'], 'internal'))}}: @@ -42,6 +44,44 @@ stages: ReleaseSha: $(Build.SourceVersion) RepoId: Azure/azure-sdk-for-python WorkingDirectory: $(System.DefaultWorkingDirectory) + + - deployment: PublishDocs + displayName: "Docs.MS Release" + condition: ne(variables['Skip.PublishDocs'], 'true') + environment: githubio + + pool: + vmImage: ubuntu-18.04 + + strategy: + runOnce: + deploy: + steps: + - checkout: self + - pwsh: | + Get-ChildItem $(Pipeline.Workspace)/${{parameters.ArtifactName}} + New-Item -Type Directory -Name ${{artifact.safeName}} -Path $(Pipeline.Workspace) + $underscorePrefix = "${{artifact.name}}" + $dashPrefix = "${{artifact.name}}".Replace("_", "-") + Copy-Item $(Pipeline.Workspace)/${{parameters.ArtifactName}}/$dashPrefix-[0-9]*.[0-9]*.[0-9]* $(Pipeline.Workspace)/${{artifact.safeName}} + Copy-Item $(Pipeline.Workspace)/${{parameters.ArtifactName}}/$underscorePrefix-[0-9]*.[0-9]*.[0-9]* $(Pipeline.Workspace)/${{artifact.safeName}} + Get-ChildItem $(Pipeline.Workspace)/${{artifact.safeName}} + displayName: Stage artifacts + - template: /eng/common/pipelines/templates/steps/docs-metadata-release.yml + parameters: + ArtifactLocation: $(Pipeline.Workspace)/${{artifact.safeName}} + PackageRepository: PyPI + ReleaseSha: $(Build.SourceVersion) + RepoId: Azure/azure-sdk-for-python + WorkingDirectory: $(System.DefaultWorkingDirectory) + TargetDocRepo: 'MicrosoftDocs/azure-docs-sdk-python' + TargetDocRepoOwner: ${{parameters.TargetDocRepoOwner}} + TargetDocRepoName: ${{parameters.TargetDocRepoName}} + PRBranchName: 'smoke-test-rdme' + ArtifactName: ${{parameters.ArtifactName}} + Language: 'python' + ServiceDirectory: ${{ parameters.ServiceDirectory }} + DocRepoDestinationPath: 'docs-ref-services/' - ${{if ne(artifact.options.skipPublishPackage, 'true')}}: - deployment: PublishPackage @@ -105,7 +145,7 @@ stages: displayName: 'Publish package to feed: ${{parameters.DevFeedName}}' - ${{if ne(artifact.options.skipPublishDocs, 'true')}}: - - deployment: PublishDocs + - deployment: PublishGitHubIODocs displayName: Publish Docs to GitHubIO Blob Storage condition: and(succeeded(), ne(variables['Skip.PublishDocs'], 'true')) environment: githubio diff --git a/eng/pipelines/templates/stages/archetype-sdk-client.yml b/eng/pipelines/templates/stages/archetype-sdk-client.yml index deee8176614a..aaf3e3809a99 100644 --- a/eng/pipelines/templates/stages/archetype-sdk-client.yml +++ b/eng/pipelines/templates/stages/archetype-sdk-client.yml @@ -4,7 +4,8 @@ parameters: ToxEnvParallel: '--tenvparallel' InjectedPackages: '' BuildDocs: true - + TargetDocRepoOwner: 'MicrosoftDocs' + TargetDocRepoName: 'azure-docs-sdk-python' stages: - stage: Build @@ -24,4 +25,6 @@ stages: ServiceDirectory: ${{parameters.ServiceDirectory}} Artifacts: ${{parameters.Artifacts}} ArtifactName: packages - DocArtifact: documentation \ No newline at end of file + DocArtifact: documentation + TargetDocRepoOwner: ${{parameters.TargetDocRepoOwner}} + TargetDocRepoName: ${{parameters.TargetDocRepoName}} \ No newline at end of file From 12c50c86482e85afb06626668615627f9d08e4e3 Mon Sep 17 00:00:00 2001 From: Scott Beddall Date: Wed, 13 May 2020 11:49:53 -0700 Subject: [PATCH 02/14] abstracting stage-filtered-artifacts --- .../templates/steps/stage-filtered-artifacts.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 eng/pipelines/templates/steps/stage-filtered-artifacts.yml diff --git a/eng/pipelines/templates/steps/stage-filtered-artifacts.yml b/eng/pipelines/templates/steps/stage-filtered-artifacts.yml new file mode 100644 index 000000000000..bc7d1a7ad241 --- /dev/null +++ b/eng/pipelines/templates/steps/stage-filtered-artifacts.yml @@ -0,0 +1,15 @@ +parameters: + SourceFolder: '' + TargetFolder: '' + ArtifactName: '' + +steps: + - pwsh: | + Get-ChildItem $(Pipeline.Workspace)/${{parameters.ArtifactName}} + New-Item -Type Directory -Name ${{artifact.safeName}} -Path $(Pipeline.Workspace) + $underscorePrefix = "${{artifact.name}}" + $dashPrefix = "${{artifact.name}}".Replace("_", "-") + Copy-Item $(Pipeline.Workspace)/${{parameters.ArtifactName}}/$dashPrefix-[0-9]*.[0-9]*.[0-9]* $(Pipeline.Workspace)/${{artifact.safeName}} + Copy-Item $(Pipeline.Workspace)/${{parameters.ArtifactName}}/$underscorePrefix-[0-9]*.[0-9]*.[0-9]* $(Pipeline.Workspace)/${{artifact.safeName}} + Get-ChildItem $(Pipeline.Workspace)/${{artifact.safeName}} + displayName: Stage artifacts \ No newline at end of file From 4b8c329f8f1f7dd553a79709c368fb4ff8796e9b Mon Sep 17 00:00:00 2001 From: Scott Beddall Date: Wed, 13 May 2020 11:56:06 -0700 Subject: [PATCH 03/14] abstract the metadata copy --- .../stages/archetype-python-release.yml | 28 +++++++------------ .../steps/stage-filtered-artifacts.yml | 18 ++++++------ 2 files changed, 19 insertions(+), 27 deletions(-) diff --git a/eng/pipelines/templates/stages/archetype-python-release.yml b/eng/pipelines/templates/stages/archetype-python-release.yml index 43bb7cad34ac..6fc6a96db456 100644 --- a/eng/pipelines/templates/stages/archetype-python-release.yml +++ b/eng/pipelines/templates/stages/archetype-python-release.yml @@ -28,15 +28,11 @@ stages: deploy: steps: - checkout: self - - pwsh: | - Get-ChildItem $(Pipeline.Workspace)/${{parameters.ArtifactName}} - New-Item -Type Directory -Name ${{artifact.safeName}} -Path $(Pipeline.Workspace) - $underscorePrefix = "${{artifact.name}}" - $dashPrefix = "${{artifact.name}}".Replace("_", "-") - Copy-Item $(Pipeline.Workspace)/${{parameters.ArtifactName}}/$dashPrefix-[0-9]*.[0-9]*.[0-9]* $(Pipeline.Workspace)/${{artifact.safeName}} - Copy-Item $(Pipeline.Workspace)/${{parameters.ArtifactName}}/$underscorePrefix-[0-9]*.[0-9]*.[0-9]* $(Pipeline.Workspace)/${{artifact.safeName}} - Get-ChildItem $(Pipeline.Workspace)/${{artifact.safeName}} - displayName: Stage artifacts + - template: /eng/pipelines/templates/steps/stage-filtered-artifacts.yml + parameters: + SourceFolder: ${{parameters.ArtifactName}} + TargetFolder: ${{artifact.safeName}} + PackageName: ${{artifact.name}} - template: /eng/common/pipelines/templates/steps/create-tags-and-git-release.yml parameters: ArtifactLocation: $(Pipeline.Workspace)/${{artifact.safeName}} @@ -58,15 +54,11 @@ stages: deploy: steps: - checkout: self - - pwsh: | - Get-ChildItem $(Pipeline.Workspace)/${{parameters.ArtifactName}} - New-Item -Type Directory -Name ${{artifact.safeName}} -Path $(Pipeline.Workspace) - $underscorePrefix = "${{artifact.name}}" - $dashPrefix = "${{artifact.name}}".Replace("_", "-") - Copy-Item $(Pipeline.Workspace)/${{parameters.ArtifactName}}/$dashPrefix-[0-9]*.[0-9]*.[0-9]* $(Pipeline.Workspace)/${{artifact.safeName}} - Copy-Item $(Pipeline.Workspace)/${{parameters.ArtifactName}}/$underscorePrefix-[0-9]*.[0-9]*.[0-9]* $(Pipeline.Workspace)/${{artifact.safeName}} - Get-ChildItem $(Pipeline.Workspace)/${{artifact.safeName}} - displayName: Stage artifacts + - template: /eng/pipelines/templates/steps/stage-filtered-artifacts.yml + parameters: + SourceFolder: ${{parameters.ArtifactName}} + TargetFolder: ${{artifact.safeName}} + PackageName: ${{artifact.name}} - template: /eng/common/pipelines/templates/steps/docs-metadata-release.yml parameters: ArtifactLocation: $(Pipeline.Workspace)/${{artifact.safeName}} diff --git a/eng/pipelines/templates/steps/stage-filtered-artifacts.yml b/eng/pipelines/templates/steps/stage-filtered-artifacts.yml index bc7d1a7ad241..f702f88f170f 100644 --- a/eng/pipelines/templates/steps/stage-filtered-artifacts.yml +++ b/eng/pipelines/templates/steps/stage-filtered-artifacts.yml @@ -1,15 +1,15 @@ parameters: - SourceFolder: '' - TargetFolder: '' - ArtifactName: '' + SourceFolder: '' # ArtifactName (aka "packages") + TargetFolder: '' # artifact.safename (azuretemplate) + PackageName: '' # artifact.name (azure-template) steps: - pwsh: | - Get-ChildItem $(Pipeline.Workspace)/${{parameters.ArtifactName}} - New-Item -Type Directory -Name ${{artifact.safeName}} -Path $(Pipeline.Workspace) - $underscorePrefix = "${{artifact.name}}" + Get-ChildItem $(Pipeline.Workspace)/${{parameters.SourceFolder}} + New-Item -Type Directory -Name ${{parameters.TargetFolder}} -Path $(Pipeline.Workspace) + $underscorePrefix = "${{parameters.PackageName}}" $dashPrefix = "${{artifact.name}}".Replace("_", "-") - Copy-Item $(Pipeline.Workspace)/${{parameters.ArtifactName}}/$dashPrefix-[0-9]*.[0-9]*.[0-9]* $(Pipeline.Workspace)/${{artifact.safeName}} - Copy-Item $(Pipeline.Workspace)/${{parameters.ArtifactName}}/$underscorePrefix-[0-9]*.[0-9]*.[0-9]* $(Pipeline.Workspace)/${{artifact.safeName}} - Get-ChildItem $(Pipeline.Workspace)/${{artifact.safeName}} + Copy-Item $(Pipeline.Workspace)/${{parameters.SourceFolder}}/$dashPrefix-[0-9]*.[0-9]*.[0-9]* $(Pipeline.Workspace)/${{parameters.TargetFolder}} + Copy-Item $(Pipeline.Workspace)/${{parameters.SourceFolder}}/$underscorePrefix-[0-9]*.[0-9]*.[0-9]* $(Pipeline.Workspace)/${{parameters.TargetFolder}} + Get-ChildItem $(Pipeline.Workspace)/${{parameters.TargetFolder}} displayName: Stage artifacts \ No newline at end of file From 0040e49b3b56353169007a879cb1282c1723fb07 Mon Sep 17 00:00:00 2001 From: Scott Beddall Date: Wed, 13 May 2020 14:41:58 -0700 Subject: [PATCH 04/14] discovered a unreplaced reference to artifact.name --- eng/pipelines/templates/steps/stage-filtered-artifacts.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/pipelines/templates/steps/stage-filtered-artifacts.yml b/eng/pipelines/templates/steps/stage-filtered-artifacts.yml index f702f88f170f..ad30b3024b62 100644 --- a/eng/pipelines/templates/steps/stage-filtered-artifacts.yml +++ b/eng/pipelines/templates/steps/stage-filtered-artifacts.yml @@ -8,7 +8,7 @@ steps: Get-ChildItem $(Pipeline.Workspace)/${{parameters.SourceFolder}} New-Item -Type Directory -Name ${{parameters.TargetFolder}} -Path $(Pipeline.Workspace) $underscorePrefix = "${{parameters.PackageName}}" - $dashPrefix = "${{artifact.name}}".Replace("_", "-") + $dashPrefix = "${{parameters.PackageName}}".Replace("_", "-") Copy-Item $(Pipeline.Workspace)/${{parameters.SourceFolder}}/$dashPrefix-[0-9]*.[0-9]*.[0-9]* $(Pipeline.Workspace)/${{parameters.TargetFolder}} Copy-Item $(Pipeline.Workspace)/${{parameters.SourceFolder}}/$underscorePrefix-[0-9]*.[0-9]*.[0-9]* $(Pipeline.Workspace)/${{parameters.TargetFolder}} Get-ChildItem $(Pipeline.Workspace)/${{parameters.TargetFolder}} From 8d83f9614c6dad95cff60c1fa250e06235dc66fd Mon Sep 17 00:00:00 2001 From: Scott Beddall Date: Wed, 13 May 2020 18:48:57 -0700 Subject: [PATCH 05/14] update to also use the same staging script for all the release stages --- .../stages/archetype-python-release.yml | 33 +++++++++++-------- .../steps/stage-filtered-artifacts.yml | 6 ++-- 2 files changed, 22 insertions(+), 17 deletions(-) diff --git a/eng/pipelines/templates/stages/archetype-python-release.yml b/eng/pipelines/templates/stages/archetype-python-release.yml index 6fc6a96db456..864cc97efb4c 100644 --- a/eng/pipelines/templates/stages/archetype-python-release.yml +++ b/eng/pipelines/templates/stages/archetype-python-release.yml @@ -33,6 +33,10 @@ stages: SourceFolder: ${{parameters.ArtifactName}} TargetFolder: ${{artifact.safeName}} PackageName: ${{artifact.name}} + - pwsh: | + Get-ChildItem -Recurse $(Pipeline.Workspace)/${{artifact.safeName}} + workingDirectory: $(Pipeline.Workspace) + displayName: Output Visible Artifacts - template: /eng/common/pipelines/templates/steps/create-tags-and-git-release.yml parameters: ArtifactLocation: $(Pipeline.Workspace)/${{artifact.safeName}} @@ -59,6 +63,10 @@ stages: SourceFolder: ${{parameters.ArtifactName}} TargetFolder: ${{artifact.safeName}} PackageName: ${{artifact.name}} + - pwsh: | + Get-ChildItem -Recurse $(Pipeline.Workspace)/${{artifact.safeName}} + workingDirectory: $(Pipeline.Workspace) + displayName: Output Visible Artifacts - template: /eng/common/pipelines/templates/steps/docs-metadata-release.yml parameters: ArtifactLocation: $(Pipeline.Workspace)/${{artifact.safeName}} @@ -94,14 +102,11 @@ stages: artifact: ${{parameters.ArtifactName}} timeoutInMinutes: 5 - - pwsh: | - Get-ChildItem $(Pipeline.Workspace)/${{parameters.ArtifactName}} - New-Item -Type Directory -Name ${{artifact.safeName}} -Path $(Pipeline.Workspace) - $underscorePrefix = "${{artifact.name}}" - $dashPrefix = "${{artifact.name}}".Replace("_", "-") - Copy-Item $(Pipeline.Workspace)/${{parameters.ArtifactName}}/$dashPrefix-[0-9]*.[0-9]*.[0-9]* $(Pipeline.Workspace)/${{artifact.safeName}} - Copy-Item $(Pipeline.Workspace)/${{parameters.ArtifactName}}/$underscorePrefix-[0-9]*.[0-9]*.[0-9]* $(Pipeline.Workspace)/${{artifact.safeName}} - Get-ChildItem $(Pipeline.Workspace)/${{artifact.safeName}} + - template: /eng/pipelines/templates/steps/stage-filtered-artifacts.yml + parameters: + SourceFolder: ${{parameters.ArtifactName}} + TargetFolder: ${{artifact.safeName}} + PackageName: ${{artifact.name}} - task: UsePythonVersion@0 @@ -151,12 +156,12 @@ stages: deploy: steps: - checkout: self - - pwsh: | - Get-ChildItem $(Pipeline.Workspace)/${{parameters.DocArtifact}} - New-Item -Type Directory -Name ${{artifact.safeName}} -Path $(Pipeline.Workspace) - $dashPrefix = "${{artifact.name}}".Replace("_", "-") - Copy-Item $(Pipeline.Workspace)/${{parameters.DocArtifact}}/$dashPrefix.zip $(Pipeline.Workspace)/${{artifact.safeName}} - displayName: Stage artifacts + - template: /eng/pipelines/templates/steps/stage-filtered-artifacts.yml + parameters: + SourceFolder: ${{parameters.DocArtifact}} + TargetFolder: ${{artifact.safeName}} + PackageName: ${{artifact.name}} + AdditionalRegex: '.zip' - pwsh: | Get-ChildItem -Recurse $(Pipeline.Workspace)/${{artifact.safeName}} workingDirectory: $(Pipeline.Workspace) diff --git a/eng/pipelines/templates/steps/stage-filtered-artifacts.yml b/eng/pipelines/templates/steps/stage-filtered-artifacts.yml index ad30b3024b62..b9871bbecb26 100644 --- a/eng/pipelines/templates/steps/stage-filtered-artifacts.yml +++ b/eng/pipelines/templates/steps/stage-filtered-artifacts.yml @@ -2,6 +2,7 @@ parameters: SourceFolder: '' # ArtifactName (aka "packages") TargetFolder: '' # artifact.safename (azuretemplate) PackageName: '' # artifact.name (azure-template) + AdditionalRegex: '-[0-9]*.[0-9]*.[0-9]*' steps: - pwsh: | @@ -9,7 +10,6 @@ steps: New-Item -Type Directory -Name ${{parameters.TargetFolder}} -Path $(Pipeline.Workspace) $underscorePrefix = "${{parameters.PackageName}}" $dashPrefix = "${{parameters.PackageName}}".Replace("_", "-") - Copy-Item $(Pipeline.Workspace)/${{parameters.SourceFolder}}/$dashPrefix-[0-9]*.[0-9]*.[0-9]* $(Pipeline.Workspace)/${{parameters.TargetFolder}} - Copy-Item $(Pipeline.Workspace)/${{parameters.SourceFolder}}/$underscorePrefix-[0-9]*.[0-9]*.[0-9]* $(Pipeline.Workspace)/${{parameters.TargetFolder}} - Get-ChildItem $(Pipeline.Workspace)/${{parameters.TargetFolder}} + Copy-Item $(Pipeline.Workspace)/${{parameters.SourceFolder}}/$dashPrefix${{parameters.AdditionalRegex}} $(Pipeline.Workspace)/${{parameters.TargetFolder}} + Copy-Item $(Pipeline.Workspace)/${{parameters.SourceFolder}}/$underscorePrefix{{parameters.AdditionalRegex}} $(Pipeline.Workspace)/${{parameters.TargetFolder}} displayName: Stage artifacts \ No newline at end of file From 1994964947680dc8dd3199f26eb028c8899cb629 Mon Sep 17 00:00:00 2001 From: Scott Beddall Date: Wed, 13 May 2020 19:19:55 -0700 Subject: [PATCH 06/14] integration bugfix discovered in release attempt --- eng/pipelines/templates/steps/stage-filtered-artifacts.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/eng/pipelines/templates/steps/stage-filtered-artifacts.yml b/eng/pipelines/templates/steps/stage-filtered-artifacts.yml index b9871bbecb26..a0b6579c2562 100644 --- a/eng/pipelines/templates/steps/stage-filtered-artifacts.yml +++ b/eng/pipelines/templates/steps/stage-filtered-artifacts.yml @@ -6,10 +6,9 @@ parameters: steps: - pwsh: | - Get-ChildItem $(Pipeline.Workspace)/${{parameters.SourceFolder}} New-Item -Type Directory -Name ${{parameters.TargetFolder}} -Path $(Pipeline.Workspace) $underscorePrefix = "${{parameters.PackageName}}" $dashPrefix = "${{parameters.PackageName}}".Replace("_", "-") Copy-Item $(Pipeline.Workspace)/${{parameters.SourceFolder}}/$dashPrefix${{parameters.AdditionalRegex}} $(Pipeline.Workspace)/${{parameters.TargetFolder}} - Copy-Item $(Pipeline.Workspace)/${{parameters.SourceFolder}}/$underscorePrefix{{parameters.AdditionalRegex}} $(Pipeline.Workspace)/${{parameters.TargetFolder}} + Copy-Item $(Pipeline.Workspace)/${{parameters.SourceFolder}}/$underscorePrefix${{parameters.AdditionalRegex}} $(Pipeline.Workspace)/${{parameters.TargetFolder}} displayName: Stage artifacts \ No newline at end of file From 3f04b7f44af74c7cc7e6ff5e0cc2539880b0b0ba Mon Sep 17 00:00:00 2001 From: Scott Beddall Date: Wed, 13 May 2020 19:23:28 -0700 Subject: [PATCH 07/14] remove some dependson --- eng/pipelines/templates/stages/archetype-python-release.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/eng/pipelines/templates/stages/archetype-python-release.yml b/eng/pipelines/templates/stages/archetype-python-release.yml index 864cc97efb4c..2d05c029ba75 100644 --- a/eng/pipelines/templates/stages/archetype-python-release.yml +++ b/eng/pipelines/templates/stages/archetype-python-release.yml @@ -47,7 +47,7 @@ stages: - deployment: PublishDocs displayName: "Docs.MS Release" - condition: ne(variables['Skip.PublishDocs'], 'true') + condition: and(succeeded(), ne(variables['Skip.PublishDocs'], 'true')) environment: githubio pool: @@ -146,7 +146,6 @@ stages: displayName: Publish Docs to GitHubIO Blob Storage condition: and(succeeded(), ne(variables['Skip.PublishDocs'], 'true')) environment: githubio - dependsOn: PublishPackage pool: vmImage: windows-2019 From b573b151be5e23ec6139cc2e8a7d30f75fe98ed3 Mon Sep 17 00:00:00 2001 From: Scott Beddall Date: Wed, 13 May 2020 20:04:50 -0700 Subject: [PATCH 08/14] allow verify to succeed --- sdk/template/azure-template/azure/template/_version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/template/azure-template/azure/template/_version.py b/sdk/template/azure-template/azure/template/_version.py index a03b1098e2b0..5374d75ab554 100644 --- a/sdk/template/azure-template/azure/template/_version.py +++ b/sdk/template/azure-template/azure/template/_version.py @@ -1,2 +1,2 @@ # matches SEMVER -VERSION = "0.0.3" \ No newline at end of file +VERSION = "0.0.4" \ No newline at end of file From bb43f6a7f29df2be5e04b2442a60432fd8ca11ab Mon Sep 17 00:00:00 2001 From: Scott Beddall Date: Wed, 13 May 2020 20:17:58 -0700 Subject: [PATCH 09/14] bugfixes! --- .../templates/steps/docs-metadata-release.yml | 1 + eng/common/scripts/artifact-metadata-parsing.ps1 | 12 ++++++------ eng/common/scripts/create-tags-and-git-release.ps1 | 4 ++-- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/eng/common/pipelines/templates/steps/docs-metadata-release.yml b/eng/common/pipelines/templates/steps/docs-metadata-release.yml index 3ffdd5ec60a6..123529da9e52 100644 --- a/eng/common/pipelines/templates/steps/docs-metadata-release.yml +++ b/eng/common/pipelines/templates/steps/docs-metadata-release.yml @@ -42,6 +42,7 @@ steps: -DocRepoLocation "${{parameters.WorkingDirectory}}/repo" -Language "${{parameters.Language}}" -DocRepoContentLocation ${{ parameters.DocRepoDestinationPath }} + -continueOnError pwsh: true env: GH_TOKEN: $(azuresdk-github-pat) diff --git a/eng/common/scripts/artifact-metadata-parsing.ps1 b/eng/common/scripts/artifact-metadata-parsing.ps1 index 51ee8eb56b84..66e090ed6f6d 100644 --- a/eng/common/scripts/artifact-metadata-parsing.ps1 +++ b/eng/common/scripts/artifact-metadata-parsing.ps1 @@ -358,7 +358,7 @@ function GetExistingTags($apiUrl) { } # Walk across all build artifacts, check them against the appropriate repository, return a list of tags/releases -function VerifyPackages($pkgRepository, $artifactLocation, $workingDirectory, $apiUrl, $releaseSha, $exitOnError = $True) { +function VerifyPackages($pkgRepository, $artifactLocation, $workingDirectory, $apiUrl, $releaseSha, $continueOnError = $false) { $pkgList = [array]@() $ParsePkgInfoFn = "" $packagePattern = "" @@ -404,7 +404,7 @@ function VerifyPackages($pkgRepository, $artifactLocation, $workingDirectory, $a continue } - if ($parsedPackage.Deployable -ne $True -and $exitOnError) { + if ($parsedPackage.Deployable -ne $True -and !$continueOnError) { Write-Host "Package $($parsedPackage.PackageId) is marked with version $($parsedPackage.PackageVersion), the version $($parsedPackage.PackageVersion) has already been deployed to the target repository." Write-Host "Maybe a pkg version wasn't updated properly?" exit(1) @@ -430,8 +430,8 @@ function VerifyPackages($pkgRepository, $artifactLocation, $workingDirectory, $a $intersect = $results | % { $_.Tag } | ? { $existingTags -contains $_ } - if ($intersect.Length -gt 0 -and $exitOnError) { - CheckArtifactShaAgainstTagsList -priorExistingTagList $intersect -releaseSha $releaseSha -apiUrl $apiUrl -exitOnError $exitOnError + if ($intersect.Length -gt 0 -and !$continueOnError) { + CheckArtifactShaAgainstTagsList -priorExistingTagList $intersect -releaseSha $releaseSha -apiUrl $apiUrl -continueOnError $continueOnError # all the tags are clean. remove them from the list of releases we will publish. $results = $results | ? { -not ($intersect -contains $_.Tag ) } @@ -443,7 +443,7 @@ function VerifyPackages($pkgRepository, $artifactLocation, $workingDirectory, $a # given a set of tags that we want to release, we need to ensure that if they already DO exist. # if they DO exist, quietly exit if the commit sha of the artifact matches that of the tag # if the commit sha does not match, exit with error and report both problem shas -function CheckArtifactShaAgainstTagsList($priorExistingTagList, $releaseSha, $apiUrl, $exitOnError) { +function CheckArtifactShaAgainstTagsList($priorExistingTagList, $releaseSha, $apiUrl, $continueOnError) { $headers = @{ "Content-Type" = "application/json" "Authorization" = "token $($env:GH_TOKEN)" @@ -465,7 +465,7 @@ function CheckArtifactShaAgainstTagsList($priorExistingTagList, $releaseSha, $ap } } - if ($unmatchedTags.Length -gt 0 -and $exitOnError) { + if ($unmatchedTags.Length -gt 0 -and !$continueOnError) { Write-Host "Tags already existing with different SHA versions. Exiting." exit(1) } diff --git a/eng/common/scripts/create-tags-and-git-release.ps1 b/eng/common/scripts/create-tags-and-git-release.ps1 index 56e3f22a4274..f87c90997839 100644 --- a/eng/common/scripts/create-tags-and-git-release.ps1 +++ b/eng/common/scripts/create-tags-and-git-release.ps1 @@ -15,7 +15,7 @@ param ( $repoOwner = "", # the owning organization of the repository. EG "Azure" $repoName = "", # the name of the repository. EG "azure-sdk-for-java" $repoId = "$repoOwner/$repoName", # full repo id. EG azure/azure-sdk-for-net DevOps: $(Build.Repository.Id), - [switch]$forceCreate = $false + [switch]$continueOnError = $false ) Write-Host "> $PSCommandPath $args" @@ -26,7 +26,7 @@ $apiUrl = "https://api.github.com/repos/$repoId" Write-Host "Using API URL $apiUrl" # VERIFY PACKAGES -$pkgList = VerifyPackages -pkgRepository $packageRepository -artifactLocation $artifactLocation -workingDirectory $workingDirectory -apiUrl $apiUrl -releaseSha $releaseSha +$pkgList = VerifyPackages -pkgRepository $packageRepository -artifactLocation $artifactLocation -workingDirectory $workingDirectory -apiUrl $apiUrl -releaseSha $releaseSha -continueOnError $continueOnError if ($pkgList) { Write-Host "Given the visible artifacts, github releases will be created for the following:" From f4d787a7d532bc17f2cd91b24ebec04c28047e47 Mon Sep 17 00:00:00 2001 From: Scott Beddall Date: Wed, 13 May 2020 20:28:15 -0700 Subject: [PATCH 10/14] handle missing _ prefix --- eng/pipelines/templates/steps/stage-filtered-artifacts.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/pipelines/templates/steps/stage-filtered-artifacts.yml b/eng/pipelines/templates/steps/stage-filtered-artifacts.yml index a0b6579c2562..033d9c675936 100644 --- a/eng/pipelines/templates/steps/stage-filtered-artifacts.yml +++ b/eng/pipelines/templates/steps/stage-filtered-artifacts.yml @@ -10,5 +10,5 @@ steps: $underscorePrefix = "${{parameters.PackageName}}" $dashPrefix = "${{parameters.PackageName}}".Replace("_", "-") Copy-Item $(Pipeline.Workspace)/${{parameters.SourceFolder}}/$dashPrefix${{parameters.AdditionalRegex}} $(Pipeline.Workspace)/${{parameters.TargetFolder}} - Copy-Item $(Pipeline.Workspace)/${{parameters.SourceFolder}}/$underscorePrefix${{parameters.AdditionalRegex}} $(Pipeline.Workspace)/${{parameters.TargetFolder}} + Copy-Item $(Pipeline.Workspace)/${{parameters.SourceFolder}}/$underscorePrefix${{parameters.AdditionalRegex}} $(Pipeline.Workspace)/${{parameters.TargetFolder}} -ErrorAction SilentlyContinue displayName: Stage artifacts \ No newline at end of file From a7280e49f0ea30fba51f6948cc69aa6aeb2f10e6 Mon Sep 17 00:00:00 2001 From: Scott Beddall Date: Wed, 13 May 2020 20:33:06 -0700 Subject: [PATCH 11/14] handle errors --- eng/common/scripts/update-docs-metadata.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/common/scripts/update-docs-metadata.ps1 b/eng/common/scripts/update-docs-metadata.ps1 index a162cbf8514e..b4cc2ac7849e 100644 --- a/eng/common/scripts/update-docs-metadata.ps1 +++ b/eng/common/scripts/update-docs-metadata.ps1 @@ -86,7 +86,7 @@ $pkgs = VerifyPackages -pkgRepository $Repository ` -workingDirectory $WorkDirectory ` -apiUrl $apiUrl ` -releaseSha $ReleaseSHA ` - -exitOnError $False + -continueOnError $True if ($pkgs) { Write-Host "Given the visible artifacts, readmes will be copied for the following packages" From 045a9e36ddabf181fd34367bb2eaf78c91c8bad9 Mon Sep 17 00:00:00 2001 From: Scott Beddall Date: Wed, 13 May 2020 20:34:38 -0700 Subject: [PATCH 12/14] ensuring correct arguments --- eng/common/pipelines/templates/steps/docs-metadata-release.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/eng/common/pipelines/templates/steps/docs-metadata-release.yml b/eng/common/pipelines/templates/steps/docs-metadata-release.yml index 123529da9e52..718e43f8d13b 100644 --- a/eng/common/pipelines/templates/steps/docs-metadata-release.yml +++ b/eng/common/pipelines/templates/steps/docs-metadata-release.yml @@ -42,7 +42,6 @@ steps: -DocRepoLocation "${{parameters.WorkingDirectory}}/repo" -Language "${{parameters.Language}}" -DocRepoContentLocation ${{ parameters.DocRepoDestinationPath }} - -continueOnError pwsh: true env: GH_TOKEN: $(azuresdk-github-pat) @@ -58,5 +57,3 @@ steps: WorkingDirectory: ${{parameters.WorkingDirectory}}/repo ScriptDirectory: ${{parameters.WorkingDirectory}}/${{parameters.ScriptDirectory}} - - From 1476a269b6ba06d87ab91d71f71a4b1fce971618 Mon Sep 17 00:00:00 2001 From: Scott Beddall Date: Tue, 19 May 2020 13:43:47 -0700 Subject: [PATCH 13/14] pass the analyze step for a real release --- sdk/template/azure-template/CHANGELOG.md | 4 ++++ sdk/template/azure-template/azure/template/_version.py | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/sdk/template/azure-template/CHANGELOG.md b/sdk/template/azure-template/CHANGELOG.md index b891c3650b57..88a27e498f3d 100644 --- a/sdk/template/azure-template/CHANGELOG.md +++ b/sdk/template/azure-template/CHANGELOG.md @@ -1,4 +1,8 @@ # Release History + +## 0.0.5 (2020-05-20) +- Test a successful Release + ## 0.0.3 (Unreleased) ## 0.0.2 (2020-03-24) diff --git a/sdk/template/azure-template/azure/template/_version.py b/sdk/template/azure-template/azure/template/_version.py index 5374d75ab554..9d07c9a21bd2 100644 --- a/sdk/template/azure-template/azure/template/_version.py +++ b/sdk/template/azure-template/azure/template/_version.py @@ -1,2 +1,2 @@ # matches SEMVER -VERSION = "0.0.4" \ No newline at end of file +VERSION = "0.0.5" \ No newline at end of file From 664142ebda4b6fe8037db50ef3e6165daf0642c6 Mon Sep 17 00:00:00 2001 From: Scott Beddall Date: Tue, 19 May 2020 14:04:48 -0700 Subject: [PATCH 14/14] updates to correct ordering of the job definitions. make everything dependent on publishpackage --- .../stages/archetype-python-release.yml | 79 ++++++++++--------- .../steps/stage-filtered-artifacts.yml | 2 +- sdk/template/azure-template/CHANGELOG.md | 3 + .../azure-template/azure/template/_version.py | 2 +- 4 files changed, 46 insertions(+), 40 deletions(-) diff --git a/eng/pipelines/templates/stages/archetype-python-release.yml b/eng/pipelines/templates/stages/archetype-python-release.yml index 2d05c029ba75..33262577352a 100644 --- a/eng/pipelines/templates/stages/archetype-python-release.yml +++ b/eng/pipelines/templates/stages/archetype-python-release.yml @@ -44,44 +44,6 @@ stages: ReleaseSha: $(Build.SourceVersion) RepoId: Azure/azure-sdk-for-python WorkingDirectory: $(System.DefaultWorkingDirectory) - - - deployment: PublishDocs - displayName: "Docs.MS Release" - condition: and(succeeded(), ne(variables['Skip.PublishDocs'], 'true')) - environment: githubio - - pool: - vmImage: ubuntu-18.04 - - strategy: - runOnce: - deploy: - steps: - - checkout: self - - template: /eng/pipelines/templates/steps/stage-filtered-artifacts.yml - parameters: - SourceFolder: ${{parameters.ArtifactName}} - TargetFolder: ${{artifact.safeName}} - PackageName: ${{artifact.name}} - - pwsh: | - Get-ChildItem -Recurse $(Pipeline.Workspace)/${{artifact.safeName}} - workingDirectory: $(Pipeline.Workspace) - displayName: Output Visible Artifacts - - template: /eng/common/pipelines/templates/steps/docs-metadata-release.yml - parameters: - ArtifactLocation: $(Pipeline.Workspace)/${{artifact.safeName}} - PackageRepository: PyPI - ReleaseSha: $(Build.SourceVersion) - RepoId: Azure/azure-sdk-for-python - WorkingDirectory: $(System.DefaultWorkingDirectory) - TargetDocRepo: 'MicrosoftDocs/azure-docs-sdk-python' - TargetDocRepoOwner: ${{parameters.TargetDocRepoOwner}} - TargetDocRepoName: ${{parameters.TargetDocRepoName}} - PRBranchName: 'smoke-test-rdme' - ArtifactName: ${{parameters.ArtifactName}} - Language: 'python' - ServiceDirectory: ${{ parameters.ServiceDirectory }} - DocRepoDestinationPath: 'docs-ref-services/' - ${{if ne(artifact.options.skipPublishPackage, 'true')}}: - deployment: PublishPackage @@ -146,6 +108,7 @@ stages: displayName: Publish Docs to GitHubIO Blob Storage condition: and(succeeded(), ne(variables['Skip.PublishDocs'], 'true')) environment: githubio + dependsOn: PublishPackage pool: vmImage: windows-2019 @@ -174,6 +137,46 @@ stages: # we override the regular script path because we have cloned the build tools repo as a separate artifact. ScriptPath: 'eng/common/scripts/copy-docs-to-blobstorage.ps1' + - ${{if ne(artifact.options.skipPublishDocs, 'true')}}: + - deployment: PublishDocs + displayName: "Docs.MS Release" + condition: and(succeeded(), ne(variables['Skip.PublishDocs'], 'true')) + environment: githubio + dependsOn: PublishPackage + + pool: + vmImage: ubuntu-18.04 + + strategy: + runOnce: + deploy: + steps: + - checkout: self + - template: /eng/pipelines/templates/steps/stage-filtered-artifacts.yml + parameters: + SourceFolder: ${{parameters.ArtifactName}} + TargetFolder: ${{artifact.safeName}} + PackageName: ${{artifact.name}} + - pwsh: | + Get-ChildItem -Recurse $(Pipeline.Workspace)/${{artifact.safeName}} + workingDirectory: $(Pipeline.Workspace) + displayName: Output Visible Artifacts + - template: /eng/common/pipelines/templates/steps/docs-metadata-release.yml + parameters: + ArtifactLocation: $(Pipeline.Workspace)/${{artifact.safeName}} + PackageRepository: PyPI + ReleaseSha: $(Build.SourceVersion) + RepoId: Azure/azure-sdk-for-python + WorkingDirectory: $(System.DefaultWorkingDirectory) + TargetDocRepo: 'MicrosoftDocs/azure-docs-sdk-python' + TargetDocRepoOwner: ${{parameters.TargetDocRepoOwner}} + TargetDocRepoName: ${{parameters.TargetDocRepoName}} + PRBranchName: 'smoke-test-rdme' + ArtifactName: ${{parameters.ArtifactName}} + Language: 'python' + ServiceDirectory: ${{ parameters.ServiceDirectory }} + DocRepoDestinationPath: 'docs-ref-services/' + - ${{if ne(artifact.options.skipUpdatePackageVersion, 'true')}}: - deployment: UpdatePackageVersion displayName: "Update Package Version" diff --git a/eng/pipelines/templates/steps/stage-filtered-artifacts.yml b/eng/pipelines/templates/steps/stage-filtered-artifacts.yml index 033d9c675936..05a82b966a62 100644 --- a/eng/pipelines/templates/steps/stage-filtered-artifacts.yml +++ b/eng/pipelines/templates/steps/stage-filtered-artifacts.yml @@ -11,4 +11,4 @@ steps: $dashPrefix = "${{parameters.PackageName}}".Replace("_", "-") Copy-Item $(Pipeline.Workspace)/${{parameters.SourceFolder}}/$dashPrefix${{parameters.AdditionalRegex}} $(Pipeline.Workspace)/${{parameters.TargetFolder}} Copy-Item $(Pipeline.Workspace)/${{parameters.SourceFolder}}/$underscorePrefix${{parameters.AdditionalRegex}} $(Pipeline.Workspace)/${{parameters.TargetFolder}} -ErrorAction SilentlyContinue - displayName: Stage artifacts \ No newline at end of file + displayName: Stage artifacts diff --git a/sdk/template/azure-template/CHANGELOG.md b/sdk/template/azure-template/CHANGELOG.md index 88a27e498f3d..05c01874c785 100644 --- a/sdk/template/azure-template/CHANGELOG.md +++ b/sdk/template/azure-template/CHANGELOG.md @@ -1,5 +1,8 @@ # Release History +## 0.0.6 (2020-05-20) +- Test a successful Release + ## 0.0.5 (2020-05-20) - Test a successful Release diff --git a/sdk/template/azure-template/azure/template/_version.py b/sdk/template/azure-template/azure/template/_version.py index 9d07c9a21bd2..36f525b597c0 100644 --- a/sdk/template/azure-template/azure/template/_version.py +++ b/sdk/template/azure-template/azure/template/_version.py @@ -1,2 +1,2 @@ # matches SEMVER -VERSION = "0.0.5" \ No newline at end of file +VERSION = "0.0.6" \ No newline at end of file