Skip to content

Commit

Permalink
Changes as per review comments
Browse files Browse the repository at this point in the history
  • Loading branch information
praveenkuttappan committed Mar 15, 2024
1 parent e207b0f commit 8287e5d
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 26 deletions.
8 changes: 4 additions & 4 deletions eng/common/scripts/Create-APIReview.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ function Upload-SourceArtifact($filePath, $apiLabel, $releaseStatus, $packageVer
return $StatusCode
}

function Uploaded-ReviewTokenFile($packageName, $apiLabel, $releaseStatus, $reviewFileName, $packageVersion)
function Upload-ReviewTokenFile($packageName, $apiLabel, $releaseStatus, $reviewFileName, $packageVersion)
{
$params = "buildId=${BuildId}&artifactName=${ArtifactName}&originalFilePath=${packageName}&reviewFilePath=${reviewFileName}"
$params += "&label=${apiLabel}&repoName=${RepoName}&packageName=${packageName}&project=internal&packageVersion=${packageVersion}"
Expand Down Expand Up @@ -121,7 +121,7 @@ function Uploaded-ReviewTokenFile($packageName, $apiLabel, $releaseStatus, $revi
return $StatusCode
}

function GetAPI-TokenFileName($packageName)
function Get-APITokenFileName($packageName)
{
$reviewTokenFileName = "${packageName}_${LanguageShort}.json"
$tokenFilePath = Join-Path $ArtifactPath $packageName $reviewTokenFileName
Expand All @@ -142,10 +142,10 @@ function Submit-APIReview($packageInfo, $packagePath)

# Get generated review token file if present
# APIView processes request using different API if token file is already generated
$reviewTokenFileName = GetAPI-TokenFileName $packageName
$reviewTokenFileName = Get-APITokenFileName $packageName
if ($reviewTokenFileName) {
Write-Host "Uploading review token file $reviewTokenFileName to APIView."
return Uploaded-ReviewTokenFile $packageName $apiLabel $packageInfo.ReleaseStatus $reviewTokenFileName $packageInfo.Version
return Upload-ReviewTokenFile $packageName $apiLabel $packageInfo.ReleaseStatus $reviewTokenFileName $packageInfo.Version
}
else {
Write-Host "Uploading $packagePath to APIView."
Expand Down
52 changes: 30 additions & 22 deletions eng/common/scripts/Helpers/ApiView-Helpers.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ function MapLanguageName($language)
return $lang
}

function Check-ApiReviewStatus($packageName, $packageVersion, $language, $url, $apiKey)
function Check-ApiReviewStatus($packageName, $packageVersion, $language, $url, $apiKey, $apiApprovalStatus = $null, $packageNameStatus = $null)
{
# Get API view URL and API Key to check status
Write-Host "Checking API review status"
Expand All @@ -35,27 +35,35 @@ function Check-ApiReviewStatus($packageName, $packageVersion, $language, $url, $
packageVersion = $packageVersion
}

if (!$apiApprovalStatus) {
$apiApprovalStatus = [PSCustomObject]@{
IsApproved = $false
Details = ""
}
}

if (!$packageNameStatus) {
$packageNameStatus = [PSCustomObject]@{
IsApproved = $false
Details = ""
}
}

try
{
$response = Invoke-WebRequest $url -Method 'GET' -Headers $headers -Body $body
if ($response.StatusCode -eq '200')
{
Write-Host "API Review is approved for package $($packageName)"
Process-ReviewStatusCode -statusCode $response.StatusCode -packageName $packageName -apiApprovalStatus $apiApprovalStatus -packageNameStatus $packageNameStatus
if ($apiApprovalStatus.IsApproved) {
Write-Host $($apiApprovalStatus.Details)
}
elseif ($response.StatusCode -eq '202')
{
Write-Host "Package name $($packageName) is not yet approved by an SDK API approver. Package name must be approved to release a beta version if $($packageName) was never released a stable version."
Write-Host "You can check http://aka.ms/azsdk/engsys/apireview/faq for more details on package name Approval."
else {
Write-warning $($apiApprovalStatus.Details)
}
elseif ($response.StatusCode -eq '201')
{
Write-Warning "API Review is not approved for package $($packageName). Release pipeline will fail if API review is not approved for a stable version release."
Write-Host "You can check http://aka.ms/azsdk/engsys/apireview/faq for more details on API Approval."
if ($packageNameStatus.IsApproved) {
Write-Host $($packageNameStatus.Details)
}
else
{
Write-Warning "API review status check returned unexpected response. $($response)"
Write-Host "You can check http://aka.ms/azsdk/engsys/apireview/faq for more details on API Approval."
else {
Write-warning $($packageNameStatus.Details)
}
}
catch
Expand All @@ -64,10 +72,10 @@ function Check-ApiReviewStatus($packageName, $packageVersion, $language, $url, $
}
}

function Process-ReviewStatusCode($statusCode, $packageName, $apiApprovalStat, $packageNameStat)
function Process-ReviewStatusCode($statusCode, $packageName, $apiApprovalStatus, $packageNameStatus)
{
$apiApproved = $false
$apiApprovalDetails = "API Review is not approved for package $($packageName). Release pipeline will fail if API review is not approved for a GA version release."
$apiApprovalDetails = "API Review is not approved for package $($packageName). Release pipeline will fail if API review is not approved for a GA version release. You can check http://aka.ms/azsdk/engsys/apireview/faq for more details on API Approval."

$packageNameApproved = $false
$packageNameApprovalDetails = ""
Expand Down Expand Up @@ -104,9 +112,9 @@ function Process-ReviewStatusCode($statusCode, $packageName, $apiApprovalStat, $
}
}

$apiApprovalStat.IsApproved = $apiApproved
$apiApprovalStat.Details = $apiApprovalDetails
$apiApprovalStatus.IsApproved = $apiApproved
$apiApprovalStatus.Details = $apiApprovalDetails

$packageNameStat.IsApproved = $packageNameApproved
$packageNameStat.Details = $packageNameApprovalDetails
$packageNameStatus.IsApproved = $packageNameApproved
$packageNameStatus.Details = $packageNameApprovalDetails
}

0 comments on commit 8287e5d

Please sign in to comment.