Skip to content

[TESTING ONLY] Testing common changes required for duplicate artifactId #45181

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Show file tree
Hide file tree
Changes from 7 commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
239f2c9
[TESTING ONLY] Testing common changes required for duplicate artifactId
JimSuplizio May 1, 2025
b57c12b
Need to commit common.ps1 since the FindArtifactForApiReviewFnV2 defi…
JimSuplizio May 1, 2025
7b416a1
Remove comments in ci.yml so there's no merge conflict updating from …
JimSuplizio May 2, 2025
6683215
Merge branch 'Azure:main' into TestingCommonChangesForDupArtifactName2
JimSuplizio May 2, 2025
cf961f0
add the comments back into ci.yml after the merge
JimSuplizio May 2, 2025
2eae4a3
Merge branch 'Azure:main' into TestingCommonChangesForDupArtifactName2
JimSuplizio May 5, 2025
dfb7b29
Validate-All-PackagesV2 takes a list of PackageInfo files and has ref…
JimSuplizio May 5, 2025
badf643
Feature/storage/stg98base (#44931)
gunjansingh-msft May 5, 2025
e05b57b
[Internal]Moving avro dependency in azure-cosmos-kafka-connect to 1.1…
FabianMeiswinkel May 5, 2025
80e328f
Add try-with-resources to annotation processor (#45193)
alzimmermsft May 5, 2025
479014f
Update Key Vault service contacts (#44575)
chlowell May 5, 2025
6d48d49
Identity May GA cleanup (#45185)
billwert May 5, 2025
894008b
Identity mi dac fixes (#45101)
billwert May 5, 2025
dfd1058
Update dependency check plugin for bug fix (#45199)
jairmyree May 5, 2025
73320ce
Add ReadConsistencyStrategy API (#45161)
FabianMeiswinkel May 6, 2025
67b30e8
Enabled `excludeRegions` to be applied for `QueryPlan` calls. (#45196)
jeet1995 May 6, 2025
79a119d
Add live test case for storage actions (#45208)
v-hongli1 May 6, 2025
211b1bd
[Automation] Generate Fluent Lite from Swagger redisenterprise#packag…
azure-sdk May 6, 2025
f1ab55e
eng, SDK automation, truncate service length to max 32 (#45209)
weidongxu-microsoft May 6, 2025
26b8ea0
Increment package versions for redisenterprise releases (#45212)
azure-sdk May 6, 2025
9c496b3
eng, automation, use raw string on regex pattern (#45211)
weidongxu-microsoft May 6, 2025
bea4c04
User agent suffixing for PPAF and PPCB enablement. (#45197)
jeet1995 May 6, 2025
3af8f01
Sync eng/common directory with azure-sdk-tools for PR 10534 (#45204)
azure-sdk May 6, 2025
8c62c3e
Add succeeded() conditions to generate-project-list (#45217)
JimSuplizio May 6, 2025
2e5d304
Yes, this is going to change but right now I want to test the refacto…
JimSuplizio May 6, 2025
590b9b3
STG98 release commit (#45213)
gunjansingh-msft May 6, 2025
ae74c6a
script is V2 not just 2
JimSuplizio May 6, 2025
37f1e8f
remove Detect-Api-ChangesV2, fix Create-APIReviewV2 so I can just tes…
JimSuplizio May 6, 2025
7813990
Identity May 2025 GA (#45219)
billwert May 6, 2025
1d1c224
Clientcore keycredpolicy https (#45184)
billwert May 6, 2025
b6632af
Increment package versions for storage releases (#45221)
azure-sdk May 7, 2025
12efc32
deploy the proxy with human-readable multipart output (#45183)
azure-sdk May 7, 2025
2f36488
eng, use nodejs 22 before codegen step (#45206)
weidongxu-microsoft May 7, 2025
9ca29e5
Configurations: 'specification/servicenetworking/ServiceNetworking.M…
azure-sdk May 7, 2025
8a1f41e
eng, fix nodejs step (#45229)
weidongxu-microsoft May 7, 2025
bae4616
[AutoPR azure-resourcemanager-onlineexperimentation]-generated-from-s…
azure-sdk May 7, 2025
e0acf76
[Automation] Generate Fluent Lite from Swagger netapp#package-2025-01…
azure-sdk May 7, 2025
a10b46f
Increment package versions for netapp releases (#45239)
azure-sdk May 7, 2025
2761ec6
Sync eng/common directory with azure-sdk-tools for PR 10542 (#45203)
azure-sdk May 7, 2025
24339a6
[Automation] Generate SDK based on TypeSpec 0.30.0 (#45243)
azure-sdk May 7, 2025
dc2256e
Reduce Reactor parallelization in HTTP tests (#45224)
alzimmermsft May 7, 2025
a5578ff
Increment package versions for identity releases (#45223)
azure-sdk May 7, 2025
b46b868
fix identity version (#45249)
lmolkova May 7, 2025
9cb129b
Support using native transports when available (#45247)
alzimmermsft May 7, 2025
e777c3a
Configurations: 'specification/fist/IotFirmwareDefense.Management/ts…
azure-sdk May 8, 2025
39c8dfa
Configurations: 'specification/ews/SecretSyncController.Management/t…
azure-sdk May 8, 2025
9d42484
[AutoPR azure-resourcemanager-programmableconnectivity]-generated-fro…
azure-sdk May 8, 2025
c5b6ea5
[AutoPR azure-resourcemanager-weightsandbiases]-generated-from-spec-g…
azure-sdk May 8, 2025
4e97bad
Increment package versions for lambdatesthyperexecute releases (#45257)
azure-sdk May 8, 2025
9cdb170
Configurations: 'specification/dell/Dell.Storage.Management/tspconfi…
azure-sdk May 8, 2025
536dc97
[AutoPR azure-resourcemanager-arizeaiobservabilityeval]-generated-fro…
azure-sdk May 8, 2025
2eaa281
Logging exceptions with context (#45136)
lmolkova May 8, 2025
941e090
Enabled Per-Partition Circuit Breaker to kick in for requests part of…
jeet1995 May 8, 2025
8fd2e61
Disable verify readmes (#45250)
billwert May 8, 2025
55948d6
Sync eng/common directory with azure-sdk-tools for PR 10521 (#45200)
azure-sdk May 8, 2025
ac53b7d
Configurations: 'specification/edge/Microsoft.Edge.Sites.Management/…
azure-sdk May 9, 2025
dbc1627
Configurations: 'specification/liftrmongodb/MongoDB.Atlas.Management…
azure-sdk May 9, 2025
7a4d004
[Automation] Generate SDK based on TypeSpec 0.30.1 (#45272)
azure-sdk May 9, 2025
830a0be
update autorest.java to 4.1.47 (#45271)
XiaofeiCao May 9, 2025
0ad6db6
mgmt, support MSI for access ACR, when create ACI (#45274)
weidongxu-microsoft May 9, 2025
89ee7b4
remove APIReviewV2 and modify the original script and template to use…
JimSuplizio May 9, 2025
55fb5a9
[TESTING ONLY] Testing common changes required for duplicate artifactId
JimSuplizio May 1, 2025
2d99638
Need to commit common.ps1 since the FindArtifactForApiReviewFnV2 defi…
JimSuplizio May 1, 2025
e51c6c4
Remove comments in ci.yml so there's no merge conflict updating from …
JimSuplizio May 2, 2025
9a51a25
add the comments back into ci.yml after the merge
JimSuplizio May 2, 2025
3a45bde
Validate-All-PackagesV2 takes a list of PackageInfo files and has ref…
JimSuplizio May 5, 2025
ed5db17
Yes, this is going to change but right now I want to test the refacto…
JimSuplizio May 6, 2025
73b2dac
script is V2 not just 2
JimSuplizio May 6, 2025
9c607be
remove Detect-Api-ChangesV2, fix Create-APIReviewV2 so I can just tes…
JimSuplizio May 6, 2025
47ddeca
remove APIReviewV2 and modify the original script and template to use…
JimSuplizio May 9, 2025
d4b04c5
Update ci.yml after rebase
JimSuplizio May 9, 2025
e1c665d
fix merge issues in ci.yml
JimSuplizio May 9, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
116 changes: 82 additions & 34 deletions eng/common/pipelines/templates/steps/create-apireview.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,31 @@
parameters:
ArtifactPath: $(Build.ArtifactStagingDirectory)
Artifacts: []
ConfigFileDir: $(Build.ArtifactStagingDirectory)/PackageInfo
MarkPackageAsShipped: false
GenerateApiReviewForManualOnly: false
ArtifactName: 'packages'
PackageName: ''
SourceRootPath: $(Build.SourcesDirectory)
- name: ArtifactPath
type: string
default: $(Build.ArtifactStagingDirectory)
- name: Artifacts
type: object
default: []
- name: ConfigFileDir
type: string
default: $(Build.ArtifactStagingDirectory)/PackageInfo
- name: MarkPackageAsShipped
type: boolean
default: false
- name: GenerateApiReviewForManualOnly
type: boolean
default: false
- name: ArtifactName
type: string
default: 'packages'
- name: PackageName
type: string
default: ''
- name: SourceRootPath
type: string
default: $(Build.SourcesDirectory)
- name: PackageInfoFiles
type: object
default: []

steps:
# ideally this should be done as initial step of a job in caller template
Expand All @@ -16,30 +35,59 @@ steps:
WorkingDirectory: ${{ parameters.SourceRootPath }}

# Automatic API review is generated for a package when pipeline runs irrespective of how pipeline gets triggered.
# Below condition ensures that API review is generated only for manual pipeline runs when flag GenerateApiReviewForManualOnly is set to true.
# Below condition ensures that API review is generated only for manual pipeline runs when flag GenerateApiReviewForManualOnly is set to true.
- ${{ if or(ne(parameters.GenerateApiReviewForManualOnly, true), eq(variables['Build.Reason'], 'Manual')) }}:
- task: Powershell@2
inputs:
filePath: ${{ parameters.SourceRootPath }}/eng/common/scripts/Create-APIReview.ps1
arguments: >
-ArtifactList ('${{ convertToJson(parameters.Artifacts) }}' | ConvertFrom-Json | Select-Object Name)
-ArtifactPath '${{parameters.ArtifactPath}}'
-ArtifactName ${{ parameters.ArtifactName }}
-APIKey '$(azuresdk-apiview-apikey)'
-PackageName '${{parameters.PackageName}}'
-SourceBranch '$(Build.SourceBranchName)'
-DefaultBranch '$(DefaultBranch)'
-ConfigFileDir '${{parameters.ConfigFileDir}}'
-BuildId '$(Build.BuildId)'
-RepoName '$(Build.Repository.Name)'
-MarkPackageAsShipped $${{parameters.MarkPackageAsShipped}}
pwsh: true
displayName: Create API Review
condition: >-
and(
succeededOrFailed(),
ne(variables['Skip.CreateApiReview'], 'true'),
ne(variables['Build.Reason'],'PullRequest'),
eq(variables['System.TeamProject'], 'internal'),
not(endsWith(variables['Build.Repository.Name'], '-pr'))
)
- ${{ if eq(length(parameters.PackageInfoFiles), 0) }}:
- task: Powershell@2
inputs:
filePath: ${{ parameters.SourceRootPath }}/eng/common/scripts/Create-APIReview.ps1
arguments: >
-ArtifactList ('${{ convertToJson(parameters.Artifacts) }}' | ConvertFrom-Json | Select-Object Name)
-ArtifactPath '${{parameters.ArtifactPath}}'
-ArtifactName ${{ parameters.ArtifactName }}
-APIKey '$(azuresdk-apiview-apikey)'
-PackageName '${{parameters.PackageName}}'
-SourceBranch '$(Build.SourceBranchName)'
-DefaultBranch '$(DefaultBranch)'
-ConfigFileDir '${{parameters.ConfigFileDir}}'
-BuildId '$(Build.BuildId)'
-RepoName '$(Build.Repository.Name)'
-MarkPackageAsShipped $${{parameters.MarkPackageAsShipped}}
pwsh: true
displayName: Create API Review
condition: >-
and(
succeededOrFailed(),
ne(variables['Skip.CreateApiReview'], 'true'),
ne(variables['Build.Reason'],'PullRequest'),
eq(variables['System.TeamProject'], 'internal'),
not(endsWith(variables['Build.Repository.Name'], '-pr'))
)
- ${{ else }}:
- task: Powershell@2
inputs:
filePath: ${{ parameters.SourceRootPath }}/eng/common/scripts/Create-APIReviewV2.ps1
# The .Replace("\", "\\") below is in case this runs on Windows which would have paths like:
# D:\a\_work\1/packages-signed/PackageInfo/
# and the backslashes in the string, without replacing them with the double would be treated
# as escape sequences.
arguments: >
-PackageInfoFiles ('${{ convertToJson(parameters.PackageInfoFiles) }}'.Replace("\", "\\").Replace("\\", "/") | ConvertFrom-Json -NoEnumerate)
-ArtifactPath '${{parameters.ArtifactPath}}'
-ArtifactName ${{ parameters.ArtifactName }}
-APIKey '$(azuresdk-apiview-apikey)'
-SourceBranch '$(Build.SourceBranchName)'
-DefaultBranch '$(DefaultBranch)'
-BuildId '$(Build.BuildId)'
-RepoName '$(Build.Repository.Name)'
-MarkPackageAsShipped $${{parameters.MarkPackageAsShipped}}
pwsh: true
displayName: Create API Review
condition: >-
and(
succeededOrFailed(),
ne(variables['Skip.CreateApiReview'], 'true'),
ne(variables['Build.Reason'],'PullRequest'),
eq(variables['System.TeamProject'], 'internal'),
not(endsWith(variables['Build.Repository.Name'], '-pr'))
)
68 changes: 49 additions & 19 deletions eng/common/pipelines/templates/steps/detect-api-changes.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,19 @@
parameters:
ArtifactPath: $(Build.ArtifactStagingDirectory)
ArtifactName: 'packages'
RepoRoot: $(Build.SourcesDirectory)
Condition: true
- name: ArtifactPath
type: string
default: $(Build.ArtifactStagingDirectory)
- name: ArtifactName
type: string
default: 'packages'
- name: RepoRoot
type: string
default: $(Build.SourcesDirectory)
- name: UseV2
type: boolean
default: false
- name: Condition
type: boolean
default: true

steps:
- pwsh: |
Expand All @@ -11,18 +22,37 @@ steps:
displayName: "Set API change detect request URL"
condition: and(${{ parameters.Condition}}, eq(variables['ApiChangeDetectRequestUrl'], ''))

- task: Powershell@2
inputs:
filePath: ${{ parameters.RepoRoot }}/eng/common/scripts/Detect-Api-Changes.ps1
arguments: >
-ArtifactPath ${{parameters.ArtifactPath}}
-CommitSha '$(System.PullRequest.SourceCommitId)'
-BuildId $(Build.BuildId)
-PullRequestNumber $(System.PullRequest.PullRequestNumber)
-RepoFullName $(Build.Repository.Name)
-APIViewUri $(ApiChangeDetectRequestUrl)
-ArtifactName ${{ parameters.ArtifactName }}
-DevopsProject $(System.TeamProject)
pwsh: true
displayName: Detect API changes
condition: and(${{ parameters.Condition }}, succeededOrFailed(), eq(variables['Build.Reason'],'PullRequest'))
- ${{ if eq(parameters.UseV2, false) }}:
- task: Powershell@2
inputs:
filePath: ${{ parameters.RepoRoot }}/eng/common/scripts/Detect-Api-Changes.ps1
arguments: >
-ArtifactPath ${{parameters.ArtifactPath}}
-CommitSha '$(System.PullRequest.SourceCommitId)'
-BuildId $(Build.BuildId)
-PullRequestNumber $(System.PullRequest.PullRequestNumber)
-RepoFullName $(Build.Repository.Name)
-APIViewUri $(ApiChangeDetectRequestUrl)
-ArtifactName ${{ parameters.ArtifactName }}
-DevopsProject $(System.TeamProject)
pwsh: true
displayName: Detect API changes
condition: and(${{ parameters.Condition }}, succeededOrFailed(), eq(variables['Build.Reason'],'PullRequest'))
- ${{ else }}:
# The Detect-Api-ChangesV2.ps1 version calls a different Language-Settings function pointer and
# passes around the PackageInfo object instead of pieces of data
- task: Powershell@2
inputs:
filePath: ${{ parameters.RepoRoot }}/eng/common/scripts/Detect-Api-ChangesV2.ps1
arguments: >
-ArtifactPath ${{parameters.ArtifactPath}}
-CommitSha '$(System.PullRequest.SourceCommitId)'
-BuildId $(Build.BuildId)
-PullRequestNumber $(System.PullRequest.PullRequestNumber)
-RepoFullName $(Build.Repository.Name)
-APIViewUri $(ApiChangeDetectRequestUrl)
-ArtifactName ${{ parameters.ArtifactName }}
-DevopsProject $(System.TeamProject)
pwsh: true
displayName: Detect API changes
condition: and(${{ parameters.Condition }}, succeededOrFailed(), eq(variables['Build.Reason'],'PullRequest'))
84 changes: 58 additions & 26 deletions eng/common/pipelines/templates/steps/validate-all-packages.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,16 @@
parameters:
ArtifactPath: $(Build.ArtifactStagingDirectory)
Artifacts: []
ConfigFileDir: $(Build.ArtifactStagingDirectory)/PackageInfo
- name: ArtifactPath
type: string
default: $(Build.ArtifactStagingDirectory)
- name: Artifacts
type: object
default: []
- name: ConfigFileDir
type: string
default: $(Build.ArtifactStagingDirectory)/PackageInfo
- name: PackageInfoFiles
type: object
default: []

steps:
- ${{ if and(ne(variables['Skip.PackageValidation'], 'true'), and(ne(variables['Build.Reason'], 'PullRequest'), eq(variables['System.TeamProject'], 'internal'))) }}:
Expand All @@ -10,26 +19,49 @@ steps:
displayName: "Set as release build"
condition: and(succeeded(), eq(variables['SetAsReleaseBuild'], ''))

- task: AzureCLI@2
inputs:
azureSubscription: opensource-api-connection
scriptType: pscore
scriptLocation: inlineScript
inlineScript: |
$(Build.SourcesDirectory)/eng/common/scripts/Validate-All-Packages.ps1 `
-ArtifactList ('${{ convertToJson(parameters.Artifacts) }}' | ConvertFrom-Json | Select-Object Name) `
-ArtifactPath ${{ parameters.ArtifactPath }} `
-RepoRoot $(Build.SourcesDirectory) `
-APIKey $(azuresdk-apiview-apikey) `
-ConfigFileDir '${{ parameters.ConfigFileDir }}' `
-BuildDefinition $(System.CollectionUri)$(System.TeamProject)/_build?definitionId=$(System.DefinitionId) `
-PipelineUrl $(System.CollectionUri)$(System.TeamProject)/_build/results?buildId=$(Build.BuildId) `
-IsReleaseBuild $$(SetAsReleaseBuild)
workingDirectory: $(Pipeline.Workspace)
displayName: Validate packages and update work items
continueOnError: true
condition: >-
and(
succeededOrFailed(),
not(endsWith(variables['Build.Repository.Name'], '-pr'))
)
- ${{ if eq(length(parameters.PackageInfoFiles), 0) }}:
- task: AzureCLI@2
inputs:
azureSubscription: opensource-api-connection
scriptType: pscore
scriptLocation: inlineScript
inlineScript: |
$(Build.SourcesDirectory)/eng/common/scripts/Validate-All-Packages.ps1 `
-ArtifactList ('${{ convertToJson(parameters.Artifacts) }}' | ConvertFrom-Json | Select-Object Name) `
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's take and convert this ArtifactList to a set of PackageInfoFiles and eliminate the need to bifurcate the scripts.

-ArtifactPath ${{ parameters.ArtifactPath }} `
-RepoRoot $(Build.SourcesDirectory) `
-APIKey $(azuresdk-apiview-apikey) `
-BuildDefinition $(System.CollectionUri)$(System.TeamProject)/_build?definitionId=$(System.DefinitionId) `
-PipelineUrl $(System.CollectionUri)$(System.TeamProject)/_build/results?buildId=$(Build.BuildId) `
-IsReleaseBuild $$(SetAsReleaseBuild)
workingDirectory: $(Pipeline.Workspace)
displayName: Validate packages and update work items
continueOnError: true
condition: >-
and(
succeededOrFailed(),
not(endsWith(variables['Build.Repository.Name'], '-pr'))
)
- ${{ else }}:
- task: AzureCLI@2
inputs:
azureSubscription: opensource-api-connection
scriptType: pscore
scriptLocation: inlineScript
inlineScript: |
$(Build.SourcesDirectory)/eng/common/scripts/Validate-All-Packages2.ps1 `
-PackageInfoFiles ('${{ convertToJson(parameters.PackageInfoFiles) }}'.Replace("\", "\\").Replace("\\", "/") | ConvertFrom-Json -NoEnumerate) `
-ArtifactPath ${{ parameters.ArtifactPath }} `
-RepoRoot $(Build.SourcesDirectory) `
-APIKey $(azuresdk-apiview-apikey) `
-BuildDefinition $(System.CollectionUri)$(System.TeamProject)/_build?definitionId=$(System.DefinitionId) `
-PipelineUrl $(System.CollectionUri)$(System.TeamProject)/_build/results?buildId=$(Build.BuildId) `
-IsReleaseBuild $$(SetAsReleaseBuild)
workingDirectory: $(Pipeline.Workspace)
displayName: Validate packages and update work items
continueOnError: true
condition: >-
and(
succeededOrFailed(),
not(endsWith(variables['Build.Repository.Name'], '-pr'))
)
Loading