Skip to content

Commit 931f528

Browse files
Enable API review gen in CI for Go (Azure#18235)
* Enable API review gen in CI for Go
1 parent d17638f commit 931f528

File tree

3 files changed

+80
-0
lines changed

3 files changed

+80
-0
lines changed

eng/pipelines/templates/steps/build-test.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,37 @@ steps:
8282
inputs:
8383
BuildDropPath: $(Build.ArtifactStagingDirectory)
8484

85+
- task: Powershell@2
86+
inputs:
87+
filePath: $(Build.SourcesDirectory)/eng/common/scripts/Save-Package-Properties.ps1
88+
arguments: >
89+
-ServiceDirectory ${{parameters.ServiceDirectory}}
90+
-OutDirectory $(Build.ArtifactStagingDirectory)/PackageInfo
91+
pwsh: true
92+
workingDirectory: $(Pipeline.Workspace)
93+
displayName: Dump Package properties
94+
condition: succeeded()
95+
96+
- template: /eng/common/pipelines/templates/steps/set-default-branch.yml
97+
98+
- task: Powershell@2
99+
inputs:
100+
filePath: $(Build.SourcesDirectory)/eng/scripts/Create-ApiReview.ps1
101+
arguments: >
102+
-ServiceDirectory ${{parameters.ServiceDirectory}}
103+
-OutPath $(Build.ArtifactStagingDirectory)
104+
-ApiviewUri "$(azuresdk-apiview-uri)"
105+
-ApiKey "$(azuresdk-apiview-apikey)"
106+
-ApiLabel "Auto Review - $(Build.SourceVersion)"
107+
-SourceBranch $(Build.SourceBranchName)
108+
-DefaultBranch $(DefaultBranch)
109+
-ConfigFileDir $(Build.ArtifactStagingDirectory)/PackageInfo
110+
pwsh: true
111+
workingDirectory: $(Pipeline.Workspace)
112+
displayName: Create API review for Go
113+
continueOnError: true
114+
condition: and(succeeded(), ne(variables['Skip.CreateApiReview'], 'true') , ne(variables['Build.Reason'],'PullRequest'), eq(variables['System.TeamProject'], 'internal'))
115+
85116
- template: /eng/common/pipelines/templates/steps/publish-artifact.yml
86117
parameters:
87118
ArtifactPath: '$(Build.ArtifactStagingDirectory)/_manifest'

eng/scripts/Create-ApiReview.ps1

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
Param(
2+
[Parameter(Mandatory=$True)]
3+
[string] $ServiceDirectory,
4+
[Parameter(Mandatory=$True)]
5+
[string] $OutPath,
6+
[Parameter(Mandatory=$True)]
7+
[string] $ApiviewUri,
8+
[Parameter(Mandatory=$True)]
9+
[string] $ApiKey,
10+
[Parameter(Mandatory=$True)]
11+
[string] $ApiLabel,
12+
[Parameter(Mandatory=$True)]
13+
[string] $SourceBranch,
14+
[Parameter(Mandatory=$True)]
15+
[string] $DefaultBranch,
16+
[Parameter(Mandatory=$True)]
17+
[string] $ConfigFileDir
18+
)
19+
20+
21+
Write-Host "$PSScriptRoot"
22+
. (Join-Path $PSScriptRoot .. common scripts common.ps1)
23+
$createReviewScript = (Join-Path $PSScriptRoot .. common scripts Create-APIReview.ps1)
24+
25+
foreach ($sdk in (Get-AllPackageInfoFromRepo $ServiceDirectory))
26+
{
27+
Write-Host "Creating API review artifact for $($sdk.Name)"
28+
New-Item -ItemType Directory -Path $OutPath/$($sdk.Name) -force
29+
$fileName = Split-Path -Path $sdk.Name -Leaf
30+
Compress-Archive -Path $sdk.DirectoryPath -DestinationPath $outPath/$($sdk.Name)/$fileName -force
31+
Rename-Item $outPath/$($sdk.Name)/$fileName.zip -NewName "$fileName.gosource"
32+
33+
Write-Host "Send request to APIView to create review for $($sdk.Name)"
34+
&($createReviewScript) -ArtifactPath $outPath -APIViewUri $ApiviewUri -APIKey $ApiKey -APILabel $ApiLabel -PackageName $sdk.Name -SourceBranch $SourceBranch -DefaultBranch $DefaultBranch -ConfigFileDir $ConfigFileDir
35+
}

eng/scripts/Language-Settings.ps1

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,3 +130,17 @@ function SetPackageVersion ($PackageName, $Version, $ReleaseDate, $PackageProper
130130
-ReleaseDate $ReleaseDate `
131131
-ReplaceLatestEntryTitle $ReplaceLatestEntryTitle
132132
}
133+
134+
135+
function Find-Go-Artifacts-For-Apireview($ArtifactPath, $PackageName)
136+
{
137+
$artifact = Get-ChildItem -Path (Join-Path $ArtifactPath $PackageName) -Filter "*.gosource"
138+
if ($artifact)
139+
{
140+
$packages = @{
141+
$artifact.FullName = $artifact.FullName
142+
}
143+
return $packages
144+
}
145+
return $null
146+
}

0 commit comments

Comments
 (0)