From 34a1c1d0e1fb6a2d08ec4b239a84dfe98a7f73db Mon Sep 17 00:00:00 2001 From: Scott Beddall Date: Fri, 14 Mar 2025 12:23:45 -0700 Subject: [PATCH 1/3] touch a bunch of ci.yml files --- eng/scripts/Language-Settings.ps1 | 82 ++++++------------------------- sdk/eventgrid/ci.mgmt.yml | 4 +- sdk/identity/ci.yml | 16 ++++++ sdk/resources/ci.mgmt.yml | 14 +++++- sdk/servicebus/ci.yml | 13 ++++- sdk/storage/ci.yml | 4 +- sdk/template/ci.yml | 13 +++++ sdk/textanalytics/ci.yml | 3 ++ 8 files changed, 79 insertions(+), 70 deletions(-) diff --git a/eng/scripts/Language-Settings.ps1 b/eng/scripts/Language-Settings.ps1 index e83329f85aff..4b2c9773aafc 100644 --- a/eng/scripts/Language-Settings.ps1 +++ b/eng/scripts/Language-Settings.ps1 @@ -7,9 +7,8 @@ $MetadataUri = "https://raw.githubusercontent.com/Azure/azure-sdk/main/_data/rel $GithubUri = "https://github.com/Azure/azure-sdk-for-js" $PackageRepositoryUri = "https://www.npmjs.com/package" $ReducedDependencyLookup = @{ - 'core' = @('@azure-rest/synapse-access-control', '@azure/arm-resources', '@azure/identity', '@azure/service-bus', '@azure/template') - 'test-utils' = @('@azure-tests/perf-storage-blob', '@azure/arm-eventgrid', '@azure/ai-text-analytics', '@azure/identity', '@azure/template') - 'identity' = @('@azure-tests/perf-storage-blob', '@azure/ai-text-analytics', '@azure/arm-resources', '@azure/identity-cache-persistence', '@azure/identity-vscode', '@azure/storage-blob', '@azure/template') + 'test-utils' = @('@azure-tests/perf-storage-blob') + 'identity' = @('@azure-tests/perf-storage-blob') } . "$PSScriptRoot/docs/Docs-ToC.ps1" @@ -39,75 +38,26 @@ function Get-javascript-AdditionalValidationPackagesFromPackageSet { [Parameter(Mandatory = $true)] $AllPkgProps ) - $additionalValidationPackages = @() - - function isOther($fileName) { - $startsWithPrefixes = @(".config", ".devcontainer", ".github", ".scripts", ".vscode", "common", "design", "documentation", "eng", "samples") - - foreach ($prefix in $startsWithPrefixes) { - if ($fileName.StartsWith($prefix)) { - return $true - } - } - - return $false - } - - $targetedFiles = $diffObj.ChangedFiles - if ($diff.DeletedFiles) { - if (-not $targetedFiles) { - $targetedFiles = @() - } - $targetedFiles += $diff.DeletedFiles - } - - # The targetedFiles needs to filter out anything in the ExcludePaths - # otherwise it'll end up processing things below that it shouldn't be. - foreach ($excludePath in $diffObj.ExcludePaths) { - $targetedFiles = $targetedFiles | Where-Object { -not $_.StartsWith($excludePath) } - } - - $changedServices = @() - foreach ($file in $targetedFiles) { - $pathComponents = $file -split "/" - # handle changes only in sdk/// - if ($pathComponents.Length -eq 3 -and $pathComponents[0] -eq "sdk") { - $changedServices += $pathComponents[1] - } - - # handle any changes under sdk/. or in the root of - # the repository - if (($pathComponents.Length -eq 2 -and $pathComponents[0] -eq "sdk") -or - ($pathComponents.Length -eq 1)) { - $changedServices += "template" - } - } - $othersChanged = @() - - if ($targetedFiles) { - $othersChanged = $targetedFiles | Where-Object { isOther $_ } - } - $changedServices = $changedServices | Get-Unique - - if ($othersChanged) { - $additionalPackages = $ReducedDependencyLookup["core"] | ForEach-Object { $me = $_; $AllPkgProps | Where-Object { $_.Name -eq $me } | Select-Object -First 1 } - $additionalValidationPackages += $additionalPackages - } + $existingPackages = $LocatedPackages | ForEach-Object { $_.Name } + $additionalDetectedPackages = @() + $uniqueResultSet = @() + # we don't currently have a way to trigger a package that doesn't exist in an artifact set + # so we can't trigger @azure-tests/perf-storage-blob based on changes to sdk/test-utils/ using any common tooling + # for now we will handle this in this function. foreach ($changedService in $changedServices) { if ($ReducedDependencyLookup.ContainsKey($changedService)) { - $additionalPackages = $ReducedDependencyLookup[$changedService] | ForEach-Object { $me = $_; $AllPkgProps | Where-Object { $_.Name -eq $me } | Select-Object -First 1 } - $additionalValidationPackages += $additionalPackages - } - else { - $additionalPackages = $AllPkgProps | Where-Object { $_.ServiceDirectory -eq $changedService } - $additionalValidationPackages += $additionalPackages + $additionalPackages = $ReducedDependencyLookup[$changedService] ` + | ForEach-Object { $me = $_; $AllPkgProps | Where-Object { $_.Name -eq $me } | Select-Object -First 1 } + + # we don't need to worry about duplicates here, we'll handle that later + $additionalDetectedPackages += $additionalPackages } } - $uniqueResultSet = @() - foreach ($pkg in $additionalValidationPackages) { - if ($uniqueResultSet -notcontains $pkg -and $LocatedPackages -notcontains $pkg) { + foreach ($pkg in $additionalDetectedPackages) { + $alreadyIncluded = $uniqueResultSet | ForEach-Object { $_.Name } + if ($existingPackages -notcontains $pkg.Name -and $alreadyIncluded -notcontains $pkg.Name) { $pkg.IncludedForValidation = $true $uniqueResultSet += $pkg } diff --git a/sdk/eventgrid/ci.mgmt.yml b/sdk/eventgrid/ci.mgmt.yml index 2f8d0eeeb839..36020810a58a 100644 --- a/sdk/eventgrid/ci.mgmt.yml +++ b/sdk/eventgrid/ci.mgmt.yml @@ -1,5 +1,5 @@ # NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. - + trigger: branches: include: @@ -30,3 +30,5 @@ extends: Artifacts: - name: azure-arm-eventgrid safeName: azurearmeventgrid + triggeringPaths: + - /sdk/test-utils/ diff --git a/sdk/identity/ci.yml b/sdk/identity/ci.yml index 3ff61c295941..2e442a8dba4c 100644 --- a/sdk/identity/ci.yml +++ b/sdk/identity/ci.yml @@ -28,10 +28,26 @@ extends: Artifacts: - name: azure-identity safeName: azureidentity + triggeringPaths: + - /sdk/test-utils/ + - /.config/ + - /.devcontainer/ + - /.github/ + - /.scripts/ + - /.vscode/ + - /common/ + - /design/ + - /documentation/ + - /eng/ + - /samples/ - name: azure-identity-cache-persistence safeName: azureidentitycachepersistence + triggeringPaths: + - /sdk/identity/ - name: azure-identity-broker safeName: azureidentitybroker - name: azure-identity-vscode safeName: azureidentityvscode skipPublishDocMs: true + triggeringPaths: + - /sdk/identity/ diff --git a/sdk/resources/ci.mgmt.yml b/sdk/resources/ci.mgmt.yml index 867f13116ea1..78cf4e0a7d86 100644 --- a/sdk/resources/ci.mgmt.yml +++ b/sdk/resources/ci.mgmt.yml @@ -1,5 +1,5 @@ # NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. - + trigger: branches: include: @@ -32,5 +32,17 @@ extends: Artifacts: - name: azure-arm-resources safeName: azurearmresources + triggeringPaths: + - /sdk/identity/ + - /.config/ + - /.devcontainer/ + - /.github/ + - /.scripts/ + - /.vscode/ + - /common/ + - /design/ + - /documentation/ + - /eng/ + - /samples/ - name: azure-arm-resources-profile-2020-09-01-hybrid safeName: azurearmresourcesprofile20200901hybrid diff --git a/sdk/servicebus/ci.yml b/sdk/servicebus/ci.yml index 7f1e33b8d4ce..4c71696d2350 100644 --- a/sdk/servicebus/ci.yml +++ b/sdk/servicebus/ci.yml @@ -1,5 +1,5 @@ # NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. - + trigger: branches: include: @@ -36,3 +36,14 @@ extends: Artifacts: - name: azure-service-bus safeName: azureservicebus + triggeringPaths: + - /.config/ + - /.devcontainer/ + - /.github/ + - /.scripts/ + - /.vscode/ + - /common/ + - /design/ + - /documentation/ + - /eng/ + - /samples/ diff --git a/sdk/storage/ci.yml b/sdk/storage/ci.yml index 6ca233fece10..fc356b2141c5 100644 --- a/sdk/storage/ci.yml +++ b/sdk/storage/ci.yml @@ -1,5 +1,5 @@ # NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. - + trigger: branches: include: @@ -38,6 +38,8 @@ extends: Artifacts: - name: azure-storage-blob safeName: azurestorageblob + triggeringPaths: + - /sdk/identity/ - name: azure-storage-file-share safeName: azurestoragefileshare - name: azure-storage-file-datalake diff --git a/sdk/template/ci.yml b/sdk/template/ci.yml index fe70b9f8c8bf..609ffcb2bba2 100644 --- a/sdk/template/ci.yml +++ b/sdk/template/ci.yml @@ -43,5 +43,18 @@ extends: Artifacts: - name: azure-template safeName: azuretemplate + triggeringPaths: + - /sdk/test-utils/ + - /sdk/identity/ + - /.config/ + - /.devcontainer/ + - /.github/ + - /.scripts/ + - /.vscode/ + - /common/ + - /design/ + - /documentation/ + - /eng/ + - /samples/ - name: azure-template-dpg safeName: azuretemplatedpg diff --git a/sdk/textanalytics/ci.yml b/sdk/textanalytics/ci.yml index 7241e58b59ac..63c97f56f7e8 100644 --- a/sdk/textanalytics/ci.yml +++ b/sdk/textanalytics/ci.yml @@ -28,3 +28,6 @@ extends: Artifacts: - name: azure-ai-text-analytics safeName: azureaitextanalytics + triggeringPaths: + - /sdk/test-utils/ + - /sdk/identity/ From fe88edba7ea0c7a8280fec3fe5c13623715949db Mon Sep 17 00:00:00 2001 From: Scott Beddall Date: Fri, 14 Mar 2025 12:26:19 -0700 Subject: [PATCH 2/3] add common/config to trigger paths for every core package --- sdk/core/ci.yml | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/sdk/core/ci.yml b/sdk/core/ci.yml index 584cf2edd027..844e59f6ddbc 100644 --- a/sdk/core/ci.yml +++ b/sdk/core/ci.yml @@ -40,31 +40,61 @@ extends: Artifacts: - name: azure-abort-controller safeName: azureabortcontroller + triggeringPaths: + - /common/config/ - name: azure-core-amqp safeName: azurecoreamqp + triggeringPaths: + - /common/config/ - name: azure-core-auth safeName: azurecoreauth + triggeringPaths: + - /common/config/ - name: azure-core-client safeName: azurecoreclient + triggeringPaths: + - /common/config/ - name: azure-rest-core-client safeName: azurerestcoreclient + triggeringPaths: + - /common/config/ - name: azure-core-rest-pipeline safeName: azurecorerestpipeline + triggeringPaths: + - /common/config/ - name: azure-core-lro safeName: azurecorelro + triggeringPaths: + - /common/config/ - name: azure-core-paging safeName: azurecorepaging + triggeringPaths: + - /common/config/ - name: azure-core-tracing safeName: azurecoretracing + triggeringPaths: + - /common/config/ - name: azure-core-xml safeName: azurecorexml + triggeringPaths: + - /common/config/ - name: azure-core-util safeName: azurecoreutil + triggeringPaths: + - /common/config/ - name: azure-logger safeName: azurelogger + triggeringPaths: + - /common/config/ - name: azure-core-http-compat safeName: azurecorehttpcompat + triggeringPaths: + - /common/config/ - name: azure-core-sse safeName: azurecoresse + triggeringPaths: + - /common/config/ - name: typespec-ts-http-runtime safeName: typespectshttpruntime + triggeringPaths: + - /common/config/ From d3cfb84f257bb553f11c465f45d91f57d2087f4b Mon Sep 17 00:00:00 2001 From: Scott Beddall <45376673+scbedd@users.noreply.github.com> Date: Fri, 14 Mar 2025 13:29:14 -0700 Subject: [PATCH 3/3] Apply suggestions from code review Co-authored-by: Jeremy Meng --- sdk/identity/ci.yml | 4 ---- sdk/resources/ci.mgmt.yml | 4 ---- sdk/servicebus/ci.yml | 4 ---- sdk/template/ci.yml | 4 ---- 4 files changed, 16 deletions(-) diff --git a/sdk/identity/ci.yml b/sdk/identity/ci.yml index 2e442a8dba4c..1461c7bc477e 100644 --- a/sdk/identity/ci.yml +++ b/sdk/identity/ci.yml @@ -34,12 +34,8 @@ extends: - /.devcontainer/ - /.github/ - /.scripts/ - - /.vscode/ - /common/ - - /design/ - - /documentation/ - /eng/ - - /samples/ - name: azure-identity-cache-persistence safeName: azureidentitycachepersistence triggeringPaths: diff --git a/sdk/resources/ci.mgmt.yml b/sdk/resources/ci.mgmt.yml index 78cf4e0a7d86..60d55c64cf72 100644 --- a/sdk/resources/ci.mgmt.yml +++ b/sdk/resources/ci.mgmt.yml @@ -38,11 +38,7 @@ extends: - /.devcontainer/ - /.github/ - /.scripts/ - - /.vscode/ - /common/ - - /design/ - - /documentation/ - /eng/ - - /samples/ - name: azure-arm-resources-profile-2020-09-01-hybrid safeName: azurearmresourcesprofile20200901hybrid diff --git a/sdk/servicebus/ci.yml b/sdk/servicebus/ci.yml index 4c71696d2350..f9c78734aa85 100644 --- a/sdk/servicebus/ci.yml +++ b/sdk/servicebus/ci.yml @@ -41,9 +41,5 @@ extends: - /.devcontainer/ - /.github/ - /.scripts/ - - /.vscode/ - /common/ - - /design/ - - /documentation/ - /eng/ - - /samples/ diff --git a/sdk/template/ci.yml b/sdk/template/ci.yml index 609ffcb2bba2..4e3414d7bd6b 100644 --- a/sdk/template/ci.yml +++ b/sdk/template/ci.yml @@ -50,11 +50,7 @@ extends: - /.devcontainer/ - /.github/ - /.scripts/ - - /.vscode/ - /common/ - - /design/ - - /documentation/ - /eng/ - - /samples/ - name: azure-template-dpg safeName: azuretemplatedpg