From a7658ce35415aa977c91af2a1c3a26950174b83e Mon Sep 17 00:00:00 2001 From: Chidozie Ononiwu <31145988+chidozieononiwu@users.noreply.github.com> Date: Thu, 13 Feb 2025 17:19:58 -0800 Subject: [PATCH] Revert "APIView Creation from PR for Go (#24000)" (#24125) This reverts commit 6c828dc0562ca67c2cc610850da7936a3ff6805a. --- eng/pipelines/templates/steps/analyze.yml | 48 +++-------- eng/scripts/Create-ApiReview.ps1 | 39 +++++++++ eng/scripts/apiview-helpers.ps1 | 100 ---------------------- 3 files changed, 53 insertions(+), 134 deletions(-) create mode 100644 eng/scripts/Create-ApiReview.ps1 delete mode 100644 eng/scripts/apiview-helpers.ps1 diff --git a/eng/pipelines/templates/steps/analyze.yml b/eng/pipelines/templates/steps/analyze.yml index ace9afc72976..ae1fd0a60d2f 100644 --- a/eng/pipelines/templates/steps/analyze.yml +++ b/eng/pipelines/templates/steps/analyze.yml @@ -5,7 +5,7 @@ parameters: NonShipping: false LicenseCheck: true IsSdkLibrary: true - ArtifactName: packages + steps: - task: Powershell@2 @@ -19,25 +19,6 @@ steps: displayName: Dump Package properties condition: and(succeeded(), ${{ parameters.IsSdkLibrary }}) - - pwsh: | - . $(Build.SourcesDirectory)/eng/scripts/apiview-helpers.ps1 - $directoryToPublish = Join-Path -Path $(Build.ArtifactStagingDirectory) ${{ parameters.ArtifactName }} - - New-APIViewArtifacts ` - -ServiceDirectory '${{ parameters.ServiceDirectory }}' ` - -OutputDirectory $(Build.ArtifactStagingDirectory) ` - -DirectoryToPublish $directoryToPublish - - Copy-Item "$(Build.ArtifactStagingDirectory)/PackageInfo" -Destination $directoryToPublish -Recurse - displayName: 'Create Go APIView Artifact' - - - template: /eng/common/pipelines/templates/steps/publish-1es-artifact.yml - parameters: - ArtifactName: ${{ parameters.ArtifactName }} - ArtifactPath: "$(Build.ArtifactStagingDirectory)/${{ parameters.ArtifactName }}" - CustomCondition: and(succeeded(), ${{ parameters.IsSdkLibrary }}) - - # Second publish of PackageInfo to avoid breakng release pipeline, should be cleaned up once release pipeline is updated - template: /eng/common/pipelines/templates/steps/publish-1es-artifact.yml parameters: ArtifactName: "PackageInfo" @@ -46,24 +27,23 @@ steps: - template: /eng/common/pipelines/templates/steps/set-default-branch.yml - - pwsh: | - . $(Build.SourcesDirectory)/eng/scripts/apiview-helpers.ps1 - New-APIViewFromCI ` - -ServiceDirectory '${{parameters.ServiceDirectory}}' ` - -ArtifactPath '$(Build.ArtifactStagingDirectory)' ` - -ApiKey '$(azuresdk-apiview-apikey)' ` - -SourceBranch '$(Build.SourceBranchName)' ` - -DefaultBranch '$(DefaultBranch)' ` - -ConfigFileDir '$(Build.ArtifactStagingDirectory)/PackageInfo' ` - -BuildId $(Build.BuildId) ` + - task: Powershell@2 + inputs: + filePath: $(Build.SourcesDirectory)/eng/scripts/Create-ApiReview.ps1 + arguments: > + -ServiceDirectory '${{parameters.ServiceDirectory}}' + -OutPath '$(Build.ArtifactStagingDirectory)' + -ApiKey '$(azuresdk-apiview-apikey)' + -SourceBranch '$(Build.SourceBranchName)' + -DefaultBranch '$(DefaultBranch)' + -ConfigFileDir '$(Build.ArtifactStagingDirectory)/PackageInfo' + -BuildId $(Build.BuildId) -RepoName '$(Build.Repository.Name)' + pwsh: true + workingDirectory: $(Pipeline.Workspace) displayName: Create API review for Go - workingDirectory: $(Pipeline.Workspace) condition: and(succeeded(), ne(variables['Skip.CreateApiReview'], 'true') , ne(variables['Build.Reason'],'PullRequest'), eq(variables['System.TeamProject'], 'internal')) - - ${{ if eq(variables['Build.Reason'],'PullRequest') }}: - - template: /eng/common/pipelines/templates/steps/detect-api-changes.yml - - ${{ if and(ne(variables['Skip.PackageValidation'], 'true'), eq(variables['System.TeamProject'], 'internal')) }}: - pwsh: | . ./eng/common/scripts/common.ps1 diff --git a/eng/scripts/Create-ApiReview.ps1 b/eng/scripts/Create-ApiReview.ps1 new file mode 100644 index 000000000000..d30af2491237 --- /dev/null +++ b/eng/scripts/Create-ApiReview.ps1 @@ -0,0 +1,39 @@ +Param( + [Parameter(Mandatory=$True)] + [string] $ServiceDirectory, + [Parameter(Mandatory=$True)] + [string] $OutPath, + [Parameter(Mandatory=$True)] + [string] $ApiKey, + [Parameter(Mandatory=$True)] + [string] $SourceBranch, + [Parameter(Mandatory=$True)] + [string] $DefaultBranch, + [Parameter(Mandatory=$True)] + [string] $ConfigFileDir, + [string] $RepoName, + [string] $BuildId, + [bool] $MarkPackageAsShipped = $false +) + + +Write-Host "$PSScriptRoot" +. (Join-Path $PSScriptRoot .. common scripts common.ps1) +$createReviewScript = (Join-Path $PSScriptRoot .. common scripts Create-APIReview.ps1) + +$artifactList = @() +foreach ($sdk in (Get-AllPackageInfoFromRepo $ServiceDirectory)) +{ + Write-Host "Creating API review artifact for $($sdk.Name)" + New-Item -ItemType Directory -Path $OutPath/$($sdk.Name) -force + $fileName = Split-Path -Path $sdk.Name -Leaf + Compress-Archive -Path $sdk.DirectoryPath -DestinationPath $outPath/$($sdk.Name)/$fileName -force + Rename-Item $outPath/$($sdk.Name)/$fileName.zip -NewName "$fileName.gosource" + + $artifactList += [PSCustomObject]@{ + name = $sdk.Name + } +} + +Write-Host "Create Go APIView using generated artifacts" +&($createReviewScript) -ArtifactList $artifactList -ArtifactPath $outPath -APIKey $ApiKey -SourceBranch $SourceBranch -DefaultBranch $DefaultBranch -ConfigFileDir $ConfigFileDir -RepoName $RepoName -BuildId $BuildId -MarkPackageAsShipped $MarkPackageAsShipped diff --git a/eng/scripts/apiview-helpers.ps1 b/eng/scripts/apiview-helpers.ps1 deleted file mode 100644 index 8628a60849b5..000000000000 --- a/eng/scripts/apiview-helpers.ps1 +++ /dev/null @@ -1,100 +0,0 @@ -Write-Host "$PSScriptRoot" -. (Join-Path $PSScriptRoot .. common scripts common.ps1) - -<# -.DESCRIPTION - Create .gosource APIVIew artifact for go -.PARAMETER ServiceDirectory - Thee name of the ServiceDirectory -.PARAMETER OutputDirectory - Base output Directory path for the generated gosource artifacts -.PARAMETER DirectoryToPublish - Directory containing all artifacts to be publisehd to the pipeline -#> -function New-APIViewArtifacts { - Param( - [Parameter(Mandatory=$True)] - [string] $ServiceDirectory, - [Parameter(Mandatory=$True)] - [string] $OutputDirectory, - [Parameter(Mandatory=$True)] - [string] $DirectoryToPublish - ) - - foreach ($sdk in (Get-AllPackageInfoFromRepo $ServiceDirectory)) - { - Write-Host "Creating API review artifact for $($sdk.Name)" - $sdkDirectoryPath = Join-Path -Path $OutputDirectory $sdk.Name - New-Item -ItemType Directory -Path $sdkDirectoryPath -force - $fileName = Split-Path -Path $sdk.Name -Leaf - $compressedArchivePath = Join-Path $sdkDirectoryPath "$fileName.zip" - Compress-Archive -Path $sdk.DirectoryPath -DestinationPath $compressedArchivePath -force - Rename-Item $compressedArchivePath -NewName "$fileName.gosource" - - $artifactParentDirectory = $sdk.Name -Split "/" | Select-Object -First 1 - Copy-Item "$OutputDirectory/$artifactParentDirectory" -Destination "$DirectoryToPublish/$artifactParentDirectory" -Recurse - } -} - -<# -.DESCRIPTION - Create new automatic APIView from a CI run -.PARAMETER ServiceDirectory - Thee name of the ServiceDirectory -.PARAMETER ArtifactPath - Directory containing the gosources artifact -.PARAMETER ApiKey - The APIview ApiKey -.PARAMETER SourceBranch - SourceBranch -.PARAMETER DefaultBranch - DefaultBranch -.PARAMETER ConfigFileDir - Path to the ConfigFileDir as published in the pipeline -.PARAMETER RepoName - The name of the repository -.PARAMETER BuildId - The build Id of the pipeline run -.PARAMETER MarkPackageAsShipped - Indicate weather to mark the package a s shipped -#> -function New-APIViewFromCI { - Param( - [Parameter(Mandatory=$True)] - [string] $ServiceDirectory, - [Parameter(Mandatory=$True)] - [string] $ArtifactPath, - [Parameter(Mandatory=$True)] - [string] $ApiKey, - [Parameter(Mandatory=$True)] - [string] $SourceBranch, - [Parameter(Mandatory=$True)] - [string] $DefaultBranch, - [Parameter(Mandatory=$True)] - [string] $ConfigFileDir, - [string] $RepoName, - [string] $BuildId, - [bool] $MarkPackageAsShipped = $false - ) - $artifactList = @() - - Get-AllPackageInfoFromRepo $ServiceDirectory | ForEach-Object { - $artifactList += [PSCustomObject]@{ - name = $sdk.Name - } - } - - $createReviewScript = (Join-Path $PSScriptRoot .. common scripts Create-APIReview.ps1) - - Write-Host "Create Go APIView using generated artifacts" - &($createReviewScript) ` - -ArtifactList $artifactList ` - -ArtifactPath $ArtifactPath ` - -APIKey $ApiKey ` - -SourceBranch $SourceBranch ` - -DefaultBranch $DefaultBranch ` - -ConfigFileDir $ConfigFileDir ` - -RepoName $RepoName ` - -BuildId $BuildId ` - -MarkPackageAsShipped $MarkPackageAsShipped -} \ No newline at end of file