diff --git a/eng/pipelines/code-quality-reports.yml b/eng/pipelines/code-quality-reports.yml index 545e77940d51..46fec4acbdbe 100644 --- a/eng/pipelines/code-quality-reports.yml +++ b/eng/pipelines/code-quality-reports.yml @@ -53,7 +53,7 @@ jobs: displayName: 'Generate FromSource POM and directories for sparse checkout' inputs: scriptPath: 'eng/scripts/generate_from_source_pom.py' - arguments: '--set-skip-linting-projects SkipLintingProjects --project-list $(ProjectList)' + arguments: '--set-skip-linting-projects SkipLintingProjects --artifacts-list $(ArtifactsList) --additional-modules-list $(AdditionalModulesList)' workingDirectory: '$(System.DefaultWorkingDirectory)' - template: /eng/common/pipelines/templates/steps/sparse-checkout.yml diff --git a/eng/pipelines/latest-jdk.yml b/eng/pipelines/latest-jdk.yml index 332318a35288..bac808656dbd 100644 --- a/eng/pipelines/latest-jdk.yml +++ b/eng/pipelines/latest-jdk.yml @@ -50,7 +50,7 @@ stages: displayName: 'Generate FromSource POM and directories for sparse checkout' inputs: scriptPath: 'eng/scripts/generate_from_source_pom.py' - arguments: '--match-any-version --set-skip-linting-projects SkipLintingProjects --project-list com.azure:azure-core' + arguments: '--match-any-version --set-skip-linting-projects SkipLintingProjects --artifacts-list com.azure:azure-core' workingDirectory: '$(System.DefaultWorkingDirectory)' - template: /eng/common/pipelines/templates/steps/sparse-checkout.yml diff --git a/eng/pipelines/templates/stages/archetype-sdk-client-patch.yml b/eng/pipelines/templates/stages/archetype-sdk-client-patch.yml index 961b4cbb086a..9c4d4cba9932 100644 --- a/eng/pipelines/templates/stages/archetype-sdk-client-patch.yml +++ b/eng/pipelines/templates/stages/archetype-sdk-client-patch.yml @@ -92,7 +92,7 @@ stages: displayName: 'Generate FromSource POM and directories for sparse checkout' inputs: scriptPath: 'eng/scripts/generate_from_source_pom.py' - arguments: '--project-list $(ProjectList)' + arguments: '--artifacts-list $(ArtifactsList) --additional-modules-list $(AdditionalModulesList)' workingDirectory: '$(System.DefaultWorkingDirectory)' - template: /eng/common/pipelines/templates/steps/sparse-checkout.yml @@ -232,7 +232,7 @@ stages: displayName: 'Generate FromSource POM and directories for sparse checkout' inputs: scriptPath: 'eng/scripts/generate_from_source_pom.py' - arguments: '--project-list $(ProjectList)' + arguments: '--artifacts-list $(ArtifactsList) --additional-modules-list $(AdditionalModulesList)' workingDirectory: '$(System.DefaultWorkingDirectory)' - template: /eng/common/pipelines/templates/steps/sparse-checkout.yml diff --git a/eng/pipelines/templates/steps/generate-project-list-and-cache-maven-repository.yml b/eng/pipelines/templates/steps/generate-project-list-and-cache-maven-repository.yml index 57cbbc261b0b..ca8e80be9213 100644 --- a/eng/pipelines/templates/steps/generate-project-list-and-cache-maven-repository.yml +++ b/eng/pipelines/templates/steps/generate-project-list-and-cache-maven-repository.yml @@ -32,17 +32,29 @@ steps: $additionalModules = '${{ convertToJson(parameters.AdditionalModules) }}' | ConvertFrom-Json $projectList = @() + $artifactsList = @() + $additionalModulesList = @() foreach ($artifact in $artifacts) { $projectList += "$($artifact.groupId):$($artifact.name)" + $artifactsList += "$($artifact.groupId):$($artifact.name)" } foreach ($artifact in $additionalModules) { $projectList += "$($artifact.groupId):$($artifact.name)" + $additionalModulesList += "$($artifact.groupId):$($artifact.name)" } - $projects = $projectList -join ',' + $projects = $projectList -join ',' Write-Host "ProjectList = $projects" Write-Host "##vso[task.setvariable variable=ProjectList;]$projects" + $artifactsString = $artifactsList -join ',' + Write-Host "ArtifactsList = $artifactsString" + Write-Host "##vso[task.setvariable variable=ArtifactsList;]$artifactsString" + + $additionalModulesString = $additionalModulesList -join ',' + Write-Host "AdditionalModulesList = $additionalModulesString" + Write-Host "##vso[task.setvariable variable=AdditionalModulesList;]$additionalModulesString" + $sha256 = new-object -TypeName System.Security.Cryptography.SHA256Managed $utf8 = new-object -TypeName System.Text.UTF8Encoding diff --git a/eng/pipelines/templates/steps/initialize-test-environment.yml b/eng/pipelines/templates/steps/initialize-test-environment.yml index d1b89c2400d3..4e70f34c97c7 100644 --- a/eng/pipelines/templates/steps/initialize-test-environment.yml +++ b/eng/pipelines/templates/steps/initialize-test-environment.yml @@ -77,7 +77,7 @@ steps: displayName: 'Generate FromSource POM and directories for sparse checkout' inputs: scriptPath: 'eng/scripts/generate_from_source_pom.py' - arguments: '--project-list $(ProjectList)' + arguments: '--artifacts-list $(ArtifactsList) --additional-modules-list $(AdditionalModulesList)' workingDirectory: '$(System.DefaultWorkingDirectory)' condition: and(succeeded(), eq(variables['TestFromSource'], 'true')) diff --git a/eng/scripts/generate_from_source_pom.py b/eng/scripts/generate_from_source_pom.py index 0d39e4d9123c..660c479980dc 100644 --- a/eng/scripts/generate_from_source_pom.py +++ b/eng/scripts/generate_from_source_pom.py @@ -53,24 +53,28 @@ sdk_string = "/sdk/" # Function that creates the aggregate POM. -def create_from_source_pom(project_list: str, set_skip_linting_projects: str, match_any_version: bool): - project_list_identifiers = project_list.split(',') +def create_from_source_pom(artifacts_list: str, additional_modules_list: str, set_skip_linting_projects: str, match_any_version: bool): + artifacts_list_identifiers = artifacts_list.split(',') + + additional_modules_identifiers = [] + if additional_modules_list is not None: + additional_modules_identifiers = additional_modules_list.split(',') # Get the artifact identifiers from client_versions.txt to act as our source of truth. artifact_identifier_to_version = load_client_artifact_identifiers() - projects = create_projects(project_list_identifiers, artifact_identifier_to_version, match_any_version) + projects = create_projects(artifacts_list_identifiers, artifact_identifier_to_version, match_any_version) dependent_modules: Set[str] = set() # Resolve all projects, including transitively, that are dependent on the projects in the project list. - for project_identifier in project_list_identifiers: + for project_identifier in artifacts_list_identifiers: dependent_modules = resolve_dependent_project(project_identifier, dependent_modules, projects) dependency_modules: Set[str] = set() # Resolve all dependencies of the projects in the project list and of the dependent modules. - for project_identifier in project_list_identifiers: + for project_identifier in artifacts_list_identifiers: dependency_modules = resolve_project_dependencies(project_identifier, dependency_modules, projects) for project_identifier in dependent_modules: dependency_modules = resolve_project_dependencies(project_identifier, dependency_modules, projects) @@ -78,7 +82,8 @@ def create_from_source_pom(project_list: str, set_skip_linting_projects: str, ma source_projects: Set[Project] = set() # Finally map the project identifiers to projects. - add_source_projects(source_projects, project_list_identifiers, projects) + add_source_projects(source_projects, artifacts_list_identifiers, projects) + add_source_projects(source_projects, additional_modules_identifiers, projects) add_source_projects(source_projects, dependent_modules, projects) add_source_projects(source_projects, dependency_modules, projects) @@ -105,7 +110,7 @@ def create_from_source_pom(project_list: str, set_skip_linting_projects: str, ma sparse_checkout_directories.add(sparse_checkout_directory) # The ServiceDirectories list should only ever contain the list of service # directories for the project list and nothing else. - if p.identifier in project_list_identifiers: + if p.identifier in artifacts_list_identifiers: # Sparse checkout directories can contain directories that aren't service directories. # (aka. /common). Any service directory will start with "/sdk/", everything else is # would be attributed to supporting libraries (ex. perf-test-core). @@ -181,7 +186,7 @@ def load_client_artifact_identifiers() -> Dict[str, ArtifactVersion]: # Function that creates the Projects within the repository. # Projects contain a Maven identifier, module path, parent POM, its dependency Maven identifiers, and Maven identifiers for projects dependent on it. -def create_projects(project_list_identifiers: list, artifact_identifier_to_version: Dict[str, ArtifactVersion], match_any_version: bool) -> Dict[str, Project]: +def create_projects(artifacts_list_identifiers: list, artifact_identifier_to_version: Dict[str, ArtifactVersion], match_any_version: bool) -> Dict[str, Project]: projects: Dict[str, Project] = {} for root, _, files in os.walk(root_path): @@ -198,7 +203,7 @@ def create_projects(project_list_identifiers: list, artifact_identifier_to_versi # Only parse files that are pom.xml files. if (file_name.startswith('pom') and file_name.endswith('.xml')): - project = create_project_for_pom(file_path, project_list_identifiers, artifact_identifier_to_version, match_any_version) + project = create_project_for_pom(file_path, artifacts_list_identifiers, artifact_identifier_to_version, match_any_version) if project is not None: projects[project.identifier] = project @@ -210,7 +215,7 @@ def create_projects(project_list_identifiers: list, artifact_identifier_to_versi return projects -def create_project_for_pom(pom_path: str, project_list_identifiers: list, artifact_identifier_to_version: Dict[str, ArtifactVersion], match_any_version: bool): +def create_project_for_pom(pom_path: str, artifacts_list_identifiers: list, artifact_identifier_to_version: Dict[str, ArtifactVersion], match_any_version: bool): if 'eng' in pom_path.split(os.sep): return @@ -227,7 +232,7 @@ def create_project_for_pom(pom_path: str, project_list_identifiers: list, artifa return Project(project_identifier, directory_path, module_path, parent_pom) # If the project isn't a track 2 POM skip it and not one of the project list identifiers. - if not project_identifier in project_list_identifiers and not is_spring_child_pom(tree_root) and not parent_pom in valid_parents: # Spring pom's parent can be empty. + if not project_identifier in artifacts_list_identifiers and not is_spring_child_pom(tree_root) and not parent_pom in valid_parents: # Spring pom's parent can be empty. return project = Project(project_identifier, directory_path, module_path, parent_pom) @@ -303,14 +308,15 @@ def project_uses_client_parent(project: Project, projects: Dict[str, Project]) - def main(): parser = argparse.ArgumentParser(description='Generated an aggregate POM for a From Source run.') - parser.add_argument('--project-list', '--pl', type=str) + parser.add_argument('--artifacts-list', '--al', type=str) + parser.add_argument('--additional-modules-list', '--aml', type=str, required=False, default=None, nargs='?') parser.add_argument('--set-skip-linting-projects', type=str) parser.add_argument('--match-any-version', action='store_true') args = parser.parse_args() - if args.project_list == None: - raise ValueError('Missing project list.') + if args.artifacts_list == None: + raise ValueError('Missing artifacts list.') start_time = time.time() - create_from_source_pom(args.project_list, args.set_skip_linting_projects, args.match_any_version) + create_from_source_pom(args.artifacts_list, args.additional_modules_list, args.set_skip_linting_projects, args.match_any_version) elapsed_time = time.time() - start_time print('Effective From Source POM File') diff --git a/eng/versioning/external_dependencies.txt b/eng/versioning/external_dependencies.txt index addf05cc9444..8b1e50f8b873 100644 --- a/eng/versioning/external_dependencies.txt +++ b/eng/versioning/external_dependencies.txt @@ -34,6 +34,7 @@ com.microsoft.azure:azure-client-authentication;1.7.14 com.microsoft.azure:azure-client-runtime;1.7.14 com.microsoft.azure:azure-core;0.9.8 com.microsoft.azure:azure-cosmos;3.7.3 +com.microsoft.azure:azure-eventhubs-eph;3.3.0 com.microsoft.azure:azure-keyvault-cryptography;1.2.2 com.microsoft.azure:azure-media;0.9.8 com.microsoft.azure:azure-servicebus;3.6.1 @@ -430,7 +431,7 @@ media_com.microsoft.azure:adal4j;1.2.0 resourcemanager_com.jcraft:jsch;0.1.55 # sdk\storage\azure-storage-blob-cryptography\pom.xml -storage_com.microsoft.azure:azure-storage;8.4.0 +storage_com.microsoft.azure:azure-storage;8.6.6 # sdk\appconfiguration\azure-spring-cloud-test-appconfiguration-config\pom.xml spring_com.microsoft.azure:azure;1.34.0 diff --git a/eng/versioning/pom_file_version_scanner.ps1 b/eng/versioning/pom_file_version_scanner.ps1 index 101baf77ea55..bad7ebb0a165 100644 --- a/eng/versioning/pom_file_version_scanner.ps1 +++ b/eng/versioning/pom_file_version_scanner.ps1 @@ -42,8 +42,10 @@ $ValidParents = ("azure-sdk-parent", "azure-client-sdk-parent", "azure-data-sdk- # which means these files have to be "sort of" scanned. $SpringSampleParents = ("spring-boot-starter-parent", "azure-spring-boot-test-parent") +. "${PSScriptRoot}/../common/scripts/Helpers/PSModule-Helpers.ps1" $Path = Resolve-Path ($PSScriptRoot + "/../../") $SamplesPath = Resolve-Path ($PSScriptRoot + "/../../samples") +$SdkRoot = Resolve-Path ($PSScriptRoot + "/../../sdk") # Not all POM files have a parent entry $PomFilesIgnoreParent = ("$($Path)\parent\pom.xml") @@ -54,6 +56,9 @@ $DependencyTypeExternal = "external_dependency" $DependencyTypeForError = "$($DependencyTypeCurrent)|$($DependencyTypeDependency)|$($DependencyTypeExternal)" $UpdateTagFormat = "{x-version-update;:;$($DependencyTypeForError)}" $UseVerboseLogging = $PSBoundParameters['Debug'] -or $PSBoundParameters['Verbose'] + +Install-ModuleIfNotInstalled "powershell-yaml" "0.4.1" | Import-Module + $StartTime = $(get-date) # This is the for the bannedDependencies include exceptions. All entries need to be of the @@ -126,6 +131,95 @@ class ExternalDependency { } } +# Create a dictionary of libraries per sdk/. The Key will be the directory +# and the Value will be a HashSet of the libraries produced. Note: This looks at ci*.yml meaning +# that it picks it'll pick up both track 1 and track 2 libraries. This is okay to join +# since the libraries produced by both tracks have different GroupIds and even then, have different +# ArtifactIds between tracks. Further, there are no interdependencies between track 1 and track 2 +# libraries. +# The purpose of collecting this data is to verify that all interdependencies within an ServiceDirectory +# are using current versions of other libraries built and released from the same ServiceDirectory. +# Similarly, this can also be used to ensure that any dependencies not part of a given ServiceDirectory +# only use the dependency versions. +# It's also worth noting that the artifacts list is pulled from the ci.yml files. The search goes +# depth 3 due to the fact that there are some libraries whose pipelines yml files are one level deeper +# than the sdk/. They're in the sdk///ci.yml and +# sdk/communication is an example of this as each library has its own pipeline. +function Get-ArtifactsList-Per-Service-Directory { + param([System.Collections.Specialized.OrderedDictionary]$ArtifactsPerSD) + + # Get all of the yml files under sdk/ + $ymlFiles = Get-ChildItem -Path $SdkRoot -Recurse -Depth 3 -File -Filter "ci*yml" + foreach ($ymlFile in $ymlFiles) { + # The ci.cosmos.yml lives in spring and is used to test the cosmos spring library. Its exception + # will be moved once things are corrected. + if ($ymlFile.FullName.Split([IO.Path]::DirectorySeparatorChar) -contains "resourcemanagerhybrid" -or + $ymlFile.Name -eq "ci.cosmos.yml") { + continue + } + # The path is going to be the key. Since there can be multiple yml files for a single path, + # (ci.yml and ci.mgmt.yml), + $ymlPath = Split-Path $ymlFile + if (-not $ArtifactsPerSD.Contains($ymlPath)) { + $artifactHashSet = New-Object 'System.Collections.Generic.HashSet[String]' + $ArtifactsPerSD.Add($ymlPath, $artifactHashSet) + } + + $ymlContent = Get-Content $ymlFile.FullName -Raw + $ymlObject = ConvertFrom-Yaml $ymlContent -Ordered + # Get each artifact that is built/released as part of this yml file + foreach ($artifact in $ymlObject["extends"]["parameters"]["artifacts"]) { + $libFullName = $artifact["groupId"] + ":" + $artifact["name"] + # The same artifact in different yml files or twice in the same file is bad. + if (-not $ArtifactsPerSD[$ymlPath].Add($libFullName)) { + Write-Error "Processing yml file $($ymlFile.FullName)" + Write-Error "$ymlPath already contains an Artifact entry for $libFullName" + } + } + # These list of modules per sdk/ has to be verified to be using the + # latest version of other modules in the same ServiceDirectory which includes AdditionModules. + # The groupIds will ensure that track1 and track2 libraries won't collide in here. In the + # case of AdditionalModules, com.azure:perf-test-core is ubiquitous and can appear in the + # AdditionalModules of ci.yml and ci.mgmt.yml. As such, it's the only library we'll ignore + # a dupe of. + foreach ($artifact in $ymlObject["extends"]["parameters"]["AdditionalModules"]) { + $libFullName = $artifact["groupId"] + ":" + $artifact["name"] + if (-not $ArtifactsPerSD[$ymlPath].Add($libFullName)) { + if ($libFullName -ne "com.azure:perf-test-core") { + Write-Error "Processing yml file $($ymlFile.FullName)" + Write-Error "$ymlPath already contains an AdditionalModule entry for $libFullName" + } + } + } + } +} + +# Given the full path to a POM file, return the HashSet containing the list +# of libraries built and released from that service directory, if there is +# one, null otherwise. +function Get-Artifacts-Built-In-Service-Directory { + param( + [System.Collections.Specialized.OrderedDictionary]$ArtifactsPerSD, + [string]$SdkRoot, + [string]$PomFileFullPath + ) + + # There are POM files that aren't in under under /sdk. Those + # aren't verified for current/dependency since they don't release + # and won't have entries in the ArtifactsPerSD + if ($PomFileFullPath.StartsWith($SdkRoot)) { + $tmpFile = $PomFileFullPath + while ($tmpFile -ne $SdkRoot) { + if ($ArtifactsPerSD.Contains($tmpFile)) { + return $ArtifactsPerSD[$tmpFile] + } else { + $tmpFile = Split-Path $tmpFile -Parent + } + } + } + return $null +} + function Build-Dependency-Hash-From-File { param( [hashtable]$depHash, @@ -177,7 +271,8 @@ function Test-Dependency-Tag-And-Version { [hashtable]$libHash, [hashtable]$extDepHash, [string]$versionString, - [string]$versionUpdateString) + [string]$versionUpdateString, + [System.Collections.Generic.HashSet[string]]$libPerSDHash = $null) # This is the format of the versionUpdateString and there should be 3 parts: # 1. The update tag, itself eg. x-version-update @@ -226,6 +321,14 @@ function Test-Dependency-Tag-And-Version { { if ($depType -eq $DependencyTypeDependency) { + # Any libraries built as part of the same pipeline need to use the current + # version of other libraries within the same pipeline. Verify that this + # dependency, of type dependency, shouldn't be current + if ($libPerSDHash) { + if ($libPerSDHash.Contains($depKey)) { + return "Error: $($versionUpdateString.Trim()) is incorrectly set to $DependencyTypeDependency. Libraries building and releasing as part of the same pipeline need to be using the $DependencyTypeCurrent versions of each other." + } + } if ($versionString -ne $libHash[$depKey].depVer) { return "Error: $($depKey)'s is '$($versionString)' but the dependency version is listed as $($libHash[$depKey].depVer)" @@ -236,7 +339,12 @@ function Test-Dependency-Tag-And-Version { # Verify that none of the 'current' dependencies are using a groupId that starts with 'unreleased_' or 'beta_' if ($depKey.StartsWith('unreleased_') -or $depKey.StartsWith('beta_')) { - return "Error: $($versionUpdateString) is using an unreleased_ or beta_ dependency and trying to set current value. Only dependency versions can be set with an unreleased or beta dependency." + return "Error: $($versionUpdateString.Trim()) is using an unreleased_ or beta_ dependency and trying to set current value. Only dependency versions can be set with an unreleased or beta dependency." + } + if ($libPerSDHash) { + if (-not $libPerSDHash.Contains($depKey)) { + return "Error: $($versionUpdateString.Trim()) is incorrectly set to $DependencyTypeCurrent. Only libraries building and releasing as part of the same pipeline should be using the $DependencyTypeCurrent versions of each other." + } } if ($versionString -ne $libHash[$depKey].curVer) { @@ -381,6 +489,9 @@ function Assert-Spring-Sample-Version-Tags { Write-Log-Message $potentialLogMessage $hasError } +$ArtifactsPerSD = [ordered]@{}; +Get-ArtifactsList-Per-Service-Directory $ArtifactsPerSD + # Create one dependency hashtable for libraries we build (the groupIds will make the entries unique) and # one hash for external dependencies $libHash = @{} @@ -550,6 +661,8 @@ Get-ChildItem -Path $Path -Filter pom*.xml -Recurse -File | ForEach-Object { } } + $artifactsPerSDHashSet = Get-Artifacts-Built-In-Service-Directory $ArtifactsPerSD $SdkRoot $pomFile + # Verify every dependency as a group, artifact and version # GetElementsByTagName should get all dependencies including dependencies under plugins foreach($dependencyNode in $xmlPomFile.GetElementsByTagName("dependency")) @@ -589,7 +702,7 @@ Get-ChildItem -Path $Path -Filter pom*.xml -Recurse -File | ForEach-Object { else { # verify the version tag and version are correct - $retVal = Test-Dependency-Tag-And-Version $libHash $extDepHash $versionNode.InnerText.Trim() $versionNode.NextSibling.Value + $retVal = Test-Dependency-Tag-And-Version $libHash $extDepHash $versionNode.InnerText.Trim() $versionNode.NextSibling.Value $artifactsPerSDHashSet if ($retVal) { $hasError = $true diff --git a/eng/versioning/version_data.txt b/eng/versioning/version_data.txt index 589f49857f73..7c4f07c79a22 100644 --- a/eng/versioning/version_data.txt +++ b/eng/versioning/version_data.txt @@ -35,7 +35,6 @@ com.microsoft.azure:azure-keyvault-extensions;1.2.6;1.3.0-beta.1 com.microsoft.azure:azure-keyvault-test;1.2.3;1.2.6 com.microsoft.azure:azure-keyvault-webkey;1.2.6;1.3.0-beta.1 com.microsoft.azure:azure-servicebus;3.6.7;3.7.0-beta.1 -com.microsoft.azure:azure-storage;8.6.5;8.6.5 com.microsoft.azure:azure-storage-blob;11.0.2;11.0.2 com.microsoft.azure:azure-eventgrid;1.4.0;1.5.0-beta.1 com.microsoft.azure:azure-loganalytics;1.0.0-beta-2;1.0.0-beta.2 diff --git a/sdk/appconfiguration/ci.yml b/sdk/appconfiguration/ci.yml index 373875154104..1b7afb1c43e3 100644 --- a/sdk/appconfiguration/ci.yml +++ b/sdk/appconfiguration/ci.yml @@ -62,3 +62,8 @@ extends: groupId: com.azure.resourcemanager safeName: azureresourcemanagerappconfiguration releaseInBatch: ${{ parameters.release_azureresourcemanagerappconfiguration }} + AdditionalModules: + - name: perf-test-core + groupId: com.azure + - name: azure-aot-graalvm-perf + groupId: com.azure diff --git a/sdk/core/ci.yml b/sdk/core/ci.yml index 370782a6fab1..6f882731a102 100644 --- a/sdk/core/ci.yml +++ b/sdk/core/ci.yml @@ -163,6 +163,12 @@ extends: groupId: com.azure safeName: azurecoretracingopentelemetry releaseInBatch: ${{ parameters.release_azurecoretracingopentelemetry }} + AdditionalModules: + - name: azure-core-perf + groupId: com.azure + # required by the above perf library + - name: perf-test-core + groupId: com.azure MatrixReplace: - TestGoals=(surefire:test)/$1 failsafe:integration-test failsafe:verify AdditionalStagesAfterBuild: diff --git a/sdk/eventgrid/azure-messaging-eventgrid-cloudnative-cloudevents/pom.xml b/sdk/eventgrid/azure-messaging-eventgrid-cloudnative-cloudevents/pom.xml index e013f2db0659..70ffacc44cac 100644 --- a/sdk/eventgrid/azure-messaging-eventgrid-cloudnative-cloudevents/pom.xml +++ b/sdk/eventgrid/azure-messaging-eventgrid-cloudnative-cloudevents/pom.xml @@ -88,7 +88,7 @@ com.azure azure-messaging-eventgrid - 4.22.0 + 4.23.0-beta.1 io.cloudevents diff --git a/sdk/eventgrid/azure-resourcemanager-eventgrid/ci.yml b/sdk/eventgrid/azure-resourcemanager-eventgrid/ci.yml new file mode 100644 index 000000000000..956bd97cd6ab --- /dev/null +++ b/sdk/eventgrid/azure-resourcemanager-eventgrid/ci.yml @@ -0,0 +1,44 @@ +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. + +trigger: + branches: + include: + - main + - hotfix/* + - release/* + paths: + include: + - sdk/eventgrid/azure-resourcemanager-eventgrid/ + exclude: + - sdk/eventgrid/azure-resourcemanager-eventgrid/pom.xml + +pr: + branches: + include: + - main + - feature/* + - hotfix/* + - release/* + paths: + include: + - sdk/eventgrid/azure-resourcemanager-eventgrid/ + exclude: + - sdk/eventgrid/azure-resourcemanager-eventgrid/pom.xml + +parameters: +- name: release_azureresourcemanagereventgrid + displayName: 'azure-resourcemanager-eventgrid' + type: boolean + default: true + +extends: + template: /eng/pipelines/templates/stages/archetype-sdk-client.yml + parameters: + ServiceDirectory: eventgrid + JavadocSafeJavaBuildVersion: '1.21' + EnableBatchRelease: true + Artifacts: + - name: azure-resourcemanager-eventgrid + groupId: com.azure.resourcemanager + safeName: azureresourcemanagereventgrid + releaseInBatch: ${{ parameters.release_azureresourcemanagereventgrid }} diff --git a/sdk/eventgrid/ci.yml b/sdk/eventgrid/ci.yml index e2fcdea36623..a0a71a4977a0 100644 --- a/sdk/eventgrid/ci.yml +++ b/sdk/eventgrid/ci.yml @@ -11,12 +11,11 @@ trigger: - sdk/eventgrid/ci.yml - sdk/eventgrid/azure-messaging-eventgrid/ - sdk/eventgrid/azure-messaging-eventgrid-cloudnative-cloudevents/ - - sdk/eventgrid/azure-resourcemanager-eventgrid/ exclude: - sdk/eventgrid/pom.xml - sdk/eventgrid/azure-messaging-eventgrid/pom.xml - sdk/eventgrid/azure-messaging-eventgrid-cloudnative-cloudevents/pom.xml - - sdk/eventgrid/azure-resourcemanager-eventgrid/pom.xml + - sdk/eventgrid/azure-resourcemanager-eventgrid/ pr: branches: @@ -30,12 +29,11 @@ pr: - sdk/eventgrid/ci.yml - sdk/eventgrid/azure-messaging-eventgrid/ - sdk/eventgrid/azure-messaging-eventgrid-cloudnative-cloudevents/ - - sdk/eventgrid/azure-resourcemanager-eventgrid/ exclude: - sdk/eventgrid/pom.xml - sdk/eventgrid/azure-messaging-eventgrid/pom.xml - sdk/eventgrid/azure-messaging-eventgrid-cloudnative-cloudevents/pom.xml - - sdk/eventgrid/azure-resourcemanager-eventgrid/pom.xml + - sdk/eventgrid/azure-resourcemanager-eventgrid/ parameters: - name: release_azuremessagingeventgrid @@ -46,10 +44,6 @@ parameters: displayName: 'azure-messaging-eventgrid-cloudnative-cloudevents' type: boolean default: true -- name: release_azureresourcemanagereventgrid - displayName: 'azure-resourcemanager-eventgrid' - type: boolean - default: false extends: template: ../../eng/pipelines/templates/stages/archetype-sdk-client.yml diff --git a/sdk/eventhubs/azure-messaging-eventhubs-track1-perf/pom.xml b/sdk/eventhubs/azure-messaging-eventhubs-track1-perf/pom.xml index f314107e7154..11161f71f827 100644 --- a/sdk/eventhubs/azure-messaging-eventhubs-track1-perf/pom.xml +++ b/sdk/eventhubs/azure-messaging-eventhubs-track1-perf/pom.xml @@ -23,7 +23,7 @@ com.microsoft.azure azure-eventhubs-eph - 3.3.0 + 3.3.0 com.azure diff --git a/sdk/eventhubs/ci.yml b/sdk/eventhubs/ci.yml index 1c954d7debec..168c1327f670 100644 --- a/sdk/eventhubs/ci.yml +++ b/sdk/eventhubs/ci.yml @@ -87,8 +87,6 @@ extends: safeName: azuremessagingeventhubscheckpointstorejedis releaseInBatch: ${{ parameters.release_azuremessagingeventhubscheckpointstorejedis }} AdditionalModules: - - name: azure-messaging-eventhubs-track1-perf - groupId: com.azure - name: azure-messaging-eventhubs-track2-perf groupId: com.azure # required by the above perf libraries diff --git a/sdk/eventhubs/microsoft-azure-eventhubs-extensions/pom.xml b/sdk/eventhubs/microsoft-azure-eventhubs-extensions/pom.xml index 8e851f68adb3..e20a9658ffc4 100644 --- a/sdk/eventhubs/microsoft-azure-eventhubs-extensions/pom.xml +++ b/sdk/eventhubs/microsoft-azure-eventhubs-extensions/pom.xml @@ -40,7 +40,7 @@ com.microsoft.azure azure-eventhubs - 3.3.0 + 3.4.0-beta.1 org.apache.logging.log4j diff --git a/sdk/formrecognizer/ci.yml b/sdk/formrecognizer/ci.yml index 92a0b6893be2..1bd887d1c3be 100644 --- a/sdk/formrecognizer/ci.yml +++ b/sdk/formrecognizer/ci.yml @@ -48,6 +48,8 @@ extends: AdditionalModules: - name: azure-ai-formrecognizer-perf groupId: com.azure - # required by the above perf library + # both of these are required by the above perf library - name: perf-test-core groupId: com.azure + - name: azure-aot-graalvm-perf + groupId: com.azure diff --git a/sdk/identity/azure-identity-extensions/ci.yml b/sdk/identity/azure-identity-extensions/ci.yml new file mode 100644 index 000000000000..48954f23fcf8 --- /dev/null +++ b/sdk/identity/azure-identity-extensions/ci.yml @@ -0,0 +1,43 @@ +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. + +trigger: + branches: + include: + - main + - hotfix/* + - release/* + paths: + include: + - sdk/identity/azure-identity-extensions/ + exclude: + - sdk/identity/azure-identity-extensions/pom.xml + +pr: + branches: + include: + - main + - feature/* + - hotfix/* + - release/* + paths: + include: + - sdk/identity/azure-identity-extensions/ + exclude: + - sdk/identity/azure-identity-extensions/pom.xml + +parameters: +- name: release_azureidentityextensions + displayName: 'azure-identity-extensions' + type: boolean + default: true + +extends: + template: /eng/pipelines/templates/stages/archetype-sdk-client.yml + parameters: + ServiceDirectory: identity + EnableBatchRelease: true + Artifacts: + - name: azure-identity-extensions + groupId: com.azure + safeName: azureidentityextensions + releaseInBatch: ${{ parameters.release_azureidentityextensions }} diff --git a/sdk/identity/ci.yml b/sdk/identity/ci.yml index ac7f73684797..6c5ea43416c7 100644 --- a/sdk/identity/ci.yml +++ b/sdk/identity/ci.yml @@ -14,6 +14,7 @@ trigger: - sdk/identity/azure-identity/pom.xml - sdk/identity/azure-identity-perf/pom.xml - sdk/identity/azure-identity-broker/pom.xml + - sdk/identity/azure-identity-extensions/ pr: branches: @@ -30,6 +31,7 @@ pr: - sdk/identity/azure-identity/pom.xml - sdk/identity/azure-identity-perf/pom.xml - sdk/identity/azure-identity-broker/pom.xml + - sdk/identity/azure-identity-extensions/ parameters: - name: release_dependsonlivetests @@ -40,10 +42,6 @@ parameters: displayName: 'azure-identity' type: boolean default: true -- name: release_azureidentityextensions - displayName: 'azure-identity-extensions' - type: boolean - default: true - name: release_azureidentitybroker displayName: 'azure-identity-broker' type: boolean @@ -60,10 +58,6 @@ extends: groupId: com.azure safeName: azureidentity releaseInBatch: ${{ parameters.release_azureidentity }} - - name: azure-identity-extensions - groupId: com.azure - safeName: azureidentityextensions - releaseInBatch: ${{ parameters.release_azureidentityextensions }} - name: azure-identity-broker groupId: com.azure safeName: azureidentitybroker diff --git a/sdk/keyvault/azure-security-keyvault-administration/pom.xml b/sdk/keyvault/azure-security-keyvault-administration/pom.xml index 6b252422ecde..32d09065af4b 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/pom.xml +++ b/sdk/keyvault/azure-security-keyvault-administration/pom.xml @@ -106,7 +106,7 @@ com.azure azure-security-keyvault-keys - 4.8.0 + 4.9.0-beta.1 test diff --git a/sdk/keyvault/ci.yml b/sdk/keyvault/ci.yml index 4a9b9f53dafc..d546c87ee142 100644 --- a/sdk/keyvault/ci.yml +++ b/sdk/keyvault/ci.yml @@ -110,3 +110,5 @@ extends: # required by the above perf library - name: perf-test-core groupId: com.azure + - name: azure-aot-graalvm-perf + groupId: com.azure diff --git a/sdk/resourcemanager/ci.yml b/sdk/resourcemanager/ci.yml index 8d791f83c1a3..576efa2b7294 100644 --- a/sdk/resourcemanager/ci.yml +++ b/sdk/resourcemanager/ci.yml @@ -285,6 +285,8 @@ extends: safeName: azureresourcemanagersamples - name: azure-resourcemanager-perf groupId: com.azure.resourcemanager + - name: azure-resourcemanager-test + groupId: com.azure.resourcemanager # required by the above perf library - name: perf-test-core groupId: com.azure diff --git a/sdk/spring/spring-cloud-azure-appconfiguration-config/pom.xml b/sdk/spring/spring-cloud-azure-appconfiguration-config/pom.xml index cbd6e29f7241..a429de78b650 100644 --- a/sdk/spring/spring-cloud-azure-appconfiguration-config/pom.xml +++ b/sdk/spring/spring-cloud-azure-appconfiguration-config/pom.xml @@ -63,12 +63,12 @@ com.azure.spring spring-cloud-azure-service - 4.16.0 + 4.17.0-beta.1 com.azure.spring spring-cloud-azure-autoconfigure - 4.16.0 + 4.17.0-beta.1 diff --git a/sdk/spring/spring-messaging-azure-servicebus/pom.xml b/sdk/spring/spring-messaging-azure-servicebus/pom.xml index e0cde9dce7d7..4d35002dd9b6 100644 --- a/sdk/spring/spring-messaging-azure-servicebus/pom.xml +++ b/sdk/spring/spring-messaging-azure-servicebus/pom.xml @@ -125,11 +125,6 @@ 1.4.10 test - - com.azure - azure-core - 1.47.0 - diff --git a/sdk/spring/spring-messaging-azure-storage-queue/pom.xml b/sdk/spring/spring-messaging-azure-storage-queue/pom.xml index a6e8d79aac7a..5ee41d32c645 100644 --- a/sdk/spring/spring-messaging-azure-storage-queue/pom.xml +++ b/sdk/spring/spring-messaging-azure-storage-queue/pom.xml @@ -101,11 +101,6 @@ 1.4.10 test - - com.azure - azure-core - 1.47.0 - diff --git a/sdk/storage/azure-storage-blob-cryptography/pom.xml b/sdk/storage/azure-storage-blob-cryptography/pom.xml index 9f810b1d88fe..0c4f0cdb455a 100644 --- a/sdk/storage/azure-storage-blob-cryptography/pom.xml +++ b/sdk/storage/azure-storage-blob-cryptography/pom.xml @@ -87,7 +87,7 @@ cross platform compatibility within SDKs --> com.microsoft.azure azure-storage - 8.4.0 + 8.6.6 test diff --git a/sdk/storage/ci.yml b/sdk/storage/ci.yml index ccad15fa833d..0a14899bc389 100644 --- a/sdk/storage/ci.yml +++ b/sdk/storage/ci.yml @@ -165,6 +165,8 @@ extends: # required by the above perf library - name: perf-test-core groupId: com.azure + - name: azure-aot-graalvm-perf + groupId: com.azure MatrixConfigs: - Name: Storage_ci Path: sdk/storage/platform-matrix-ci.json diff --git a/sdk/storage/microsoft-azure-storage-perf/pom.xml b/sdk/storage/microsoft-azure-storage-perf/pom.xml index be08d45961d6..86aa29ac4b6b 100644 --- a/sdk/storage/microsoft-azure-storage-perf/pom.xml +++ b/sdk/storage/microsoft-azure-storage-perf/pom.xml @@ -30,7 +30,7 @@ com.microsoft.azure azure-storage - 8.6.5 + 8.6.6 @@ -45,7 +45,7 @@ - com.microsoft.azure:azure-storage:[8.6.5] + com.microsoft.azure:azure-storage:[8.6.6] diff --git a/sdk/textanalytics/ci.yml b/sdk/textanalytics/ci.yml index 65e6e90fa387..425c9bea2e95 100644 --- a/sdk/textanalytics/ci.yml +++ b/sdk/textanalytics/ci.yml @@ -50,3 +50,5 @@ extends: # required by the above perf library - name: perf-test-core groupId: com.azure + - name: azure-aot-graalvm-perf + groupId: com.azure \ No newline at end of file diff --git a/sdk/webpubsub/azure-messaging-webpubsub-client/pom.xml b/sdk/webpubsub/azure-messaging-webpubsub-client/pom.xml index fe951c055497..22522a764d44 100644 --- a/sdk/webpubsub/azure-messaging-webpubsub-client/pom.xml +++ b/sdk/webpubsub/azure-messaging-webpubsub-client/pom.xml @@ -86,7 +86,7 @@ com.azure azure-messaging-webpubsub - 1.2.12 + 1.3.0-beta.1 test