From 10a3e634b6e394ef6b8b57584a079ea3a72ca9c3 Mon Sep 17 00:00:00 2001 From: James Suplizio Date: Fri, 7 Mar 2025 10:10:14 -0800 Subject: [PATCH] Use OS variables from image.yml and remove ArtifactName template parameter which is always hard coded to 'packages' --- eng/pipelines/partner-release.yml | 4 +- .../templates/jobs/build-validate-pom.yml | 7 +- eng/pipelines/templates/jobs/ci.yml | 3 +- .../stages/archetype-java-release-batch.yml | 130 +++++++++--------- .../stages/archetype-java-release-patch.yml | 93 ++++++------- .../archetype-java-release-pom-only.yml | 61 ++++---- .../stages/archetype-sdk-client-patch.yml | 13 +- .../templates/stages/archetype-sdk-client.yml | 1 - .../stages/archetype-sdk-pom-only.yml | 2 - .../templates/stages/cosmos-sdk-client.yml | 2 - .../templates/steps/compilation.check.yml | 39 ------ sdk/boms/azure-sdk-template-bom/pom.xml | 2 +- 12 files changed, 148 insertions(+), 209 deletions(-) delete mode 100644 eng/pipelines/templates/steps/compilation.check.yml diff --git a/eng/pipelines/partner-release.yml b/eng/pipelines/partner-release.yml index 1a33ae4daf52..3e52ac9af570 100644 --- a/eng/pipelines/partner-release.yml +++ b/eng/pipelines/partner-release.yml @@ -110,8 +110,8 @@ extends: targetPath: '$(Pipeline.Workspace)/packages-esrp-flattened' pool: - name: azsdk-pool-mms-win-2022-general - image: azsdk-pool-mms-win-2022-1espt + name: $(WINDOWSPOOL) + image: $(WINDOWSVMIMAGE) os: windows strategy: runOnce: diff --git a/eng/pipelines/templates/jobs/build-validate-pom.yml b/eng/pipelines/templates/jobs/build-validate-pom.yml index cc3148230674..57345cfa739b 100644 --- a/eng/pipelines/templates/jobs/build-validate-pom.yml +++ b/eng/pipelines/templates/jobs/build-validate-pom.yml @@ -26,11 +26,6 @@ jobs: image: $(LINUXVMIMAGE) os: linux - strategy: - matrix: - Client Libraries: - ArtifactName: 'packages' - steps: - template: /eng/common/pipelines/templates/steps/sparse-checkout.yml parameters: @@ -93,4 +88,4 @@ jobs: - template: /eng/common/pipelines/templates/steps/publish-1es-artifact.yml parameters: ArtifactPath: '$(Build.ArtifactStagingDirectory)' - ArtifactName: '$(ArtifactName)' + ArtifactName: 'packages' diff --git a/eng/pipelines/templates/jobs/ci.yml b/eng/pipelines/templates/jobs/ci.yml index e5076c76a7aa..cf509e3a5afb 100644 --- a/eng/pipelines/templates/jobs/ci.yml +++ b/eng/pipelines/templates/jobs/ci.yml @@ -69,7 +69,6 @@ jobs: - job: 'Build' variables: - ArtifactName: 'packages' # The ServiceDirectory is an identifier. The pullrequest's ServiceDirectory of # 'auto' shouldn't cause any problems Codeql.Enabled: true @@ -226,7 +225,7 @@ jobs: - template: /eng/common/pipelines/templates/steps/publish-1es-artifact.yml parameters: ArtifactPath: $(Build.ArtifactStagingDirectory) - ArtifactName: '$(ArtifactName)' + ArtifactName: 'packages' # Troubleshooting artifacts are creating in the staging directory under the folder 'troubleshooting'. # This will contain things such as heap dumps hprofs if testing hit OutOfMemory errors, log files captured diff --git a/eng/pipelines/templates/stages/archetype-java-release-batch.yml b/eng/pipelines/templates/stages/archetype-java-release-batch.yml index 7e30c86a1b64..788a140f7e43 100644 --- a/eng/pipelines/templates/stages/archetype-java-release-batch.yml +++ b/eng/pipelines/templates/stages/archetype-java-release-batch.yml @@ -11,9 +11,6 @@ parameters: - name: TestPipeline type: boolean default: false - - name: ArtifactName - type: string - default: 'not-specified' - name: EnableIntegrationStage type: boolean default: true @@ -37,8 +34,8 @@ stages: - template: /eng/pipelines/templates/variables/globals.yml - template: /eng/pipelines/templates/variables/image.yml pool: - name: azsdk-pool-mms-win-2022-general - image: azsdk-pool-mms-win-2022-1espt + name: $(WINDOWSPOOL) + image: $(WINDOWSVMIMAGE) os: windows steps: - checkout: azure-sdk-build-tools @@ -53,25 +50,25 @@ stages: - template: /eng/pipelines/templates/steps/download-credscan-suppressions.yml - download: current - displayName: 'Download Artifact: ${{parameters.ArtifactName}}' - artifact: ${{parameters.ArtifactName}} + displayName: 'Download Artifact: packages' + artifact: packages - template: tools/java-esrp-signing/java-esrp-signing.yml@azure-sdk-build-tools parameters: Artifacts: ${{parameters.Artifacts}} - ArtifactDirectory: $(Pipeline.Workspace)/${{parameters.ArtifactName}} + ArtifactDirectory: $(Pipeline.Workspace)/packages # Publish the ESRP signed directory. This will still be used by the # Dev feed publish. - template: /eng/common/pipelines/templates/steps/publish-1es-artifact.yml parameters: - ArtifactPath: '$(Pipeline.Workspace)/${{parameters.ArtifactName}}' - ArtifactName: '${{parameters.ArtifactName}}-signed' + ArtifactPath: '$(Pipeline.Workspace)/packages' + ArtifactName: 'packages-signed' # Downloading the ESRP signed artifacts - download: current displayName: 'Download Signed Artifacts' - artifact: ${{parameters.ArtifactName}}-signed + artifact: packages-signed # gpg-sign and create the flattened directory for ESRP bulk publish # Note: The maven release requires the files to be local GPG signed @@ -79,15 +76,15 @@ stages: - template: tools/gpg/gpg.yml@azure-sdk-build-tools - template: /eng/pipelines/templates/steps/gpg-sign-and-flatten.yml parameters: - ArtifactDirectory: $(Pipeline.Workspace)/${{parameters.ArtifactName}}-signed - OutputDirectory: $(Pipeline.Workspace)/${{parameters.ArtifactName}}-esrp-gpg-signed - FlattenedESRPDirectory: $(Pipeline.Workspace)/${{parameters.ArtifactName}}-esrp-flattened + ArtifactDirectory: $(Pipeline.Workspace)/packages-signed + OutputDirectory: $(Pipeline.Workspace)/packages-esrp-gpg-signed + FlattenedESRPDirectory: $(Pipeline.Workspace)/packages-esrp-flattened # The packages-esrp-flattened will be used for the ESRP publish - template: /eng/common/pipelines/templates/steps/publish-1es-artifact.yml parameters: - ArtifactPath: '$(Pipeline.Workspace)/${{parameters.ArtifactName}}-esrp-flattened' - ArtifactName: '${{parameters.ArtifactName}}-esrp-flattened' + ArtifactPath: '$(Pipeline.Workspace)/packages-esrp-flattened' + ArtifactName: 'packages-esrp-flattened' # We generate two interdependent stages for each artifact listed in the ci.yml file, creates the release # in GitHub. The Release stage publishes to Maven Central. Both stages require approval since they @@ -111,8 +108,8 @@ stages: displayName: "Verify release versions" condition: ne(variables['Skip.VersionVerification'], 'true') pool: - name: azsdk-pool-mms-ubuntu-2004-general - image: azsdk-pool-mms-ubuntu-2004-1espt + name: $(LINUXPOOL) + image: $(LINUXVMIMAGE) os: linux steps: @@ -125,8 +122,8 @@ stages: - '!sdk/**/session-records' - download: current - displayName: 'Download Artifact: ${{parameters.ArtifactName}}' - artifact: ${{parameters.ArtifactName}}-signed + displayName: 'Download Artifact: packages' + artifact: packages-signed - task: UsePythonVersion@0 displayName: 'Use Python $(PythonVersion)' inputs: @@ -171,7 +168,7 @@ stages: parameters: PackageName: ${{artifact.name}} ServiceDirectory: ${{parameters.ServiceDirectory}} - ArtifactLocation: $(Pipeline.Workspace)/${{parameters.ArtifactName}}-signed + ArtifactLocation: $(Pipeline.Workspace)/packages-signed # Given a list of libraries to release, verify that the list of libraries has full transitive closure. # This prevents us from releasing a library whose dependency is not being released. UberJar needs to be # be passed in, we skip check on UberJars but we still do need to fail correctly if the user didn't @@ -190,20 +187,20 @@ stages: condition: and(succeeded(), ne(variables['Skip.TagRepository'], 'true')) dependsOn: VerifyReleaseVersion pool: - name: azsdk-pool-mms-win-2022-general - image: azsdk-pool-mms-win-2022-1espt + name: $(WINDOWSPOOL) + image: $(WINDOWSVMIMAGE) os: windows steps: - template: /eng/common/pipelines/templates/steps/sparse-checkout.yml - template: /eng/common/pipelines/templates/steps/retain-run.yml # No pattern, just download everything that's been signed - download: current - displayName: 'Download Artifact: ${{parameters.ArtifactName}}-signed' - artifact: ${{parameters.ArtifactName}}-signed + displayName: 'Download Artifact: packages-signed' + artifact: packages-signed - ${{ each artifact in parameters.Artifacts }}: - template: /eng/common/pipelines/templates/steps/create-tags-and-git-release.yml parameters: - ArtifactLocation: $(Pipeline.Workspace)/${{parameters.ArtifactName}}-signed/${{artifact.groupId}}/${{artifact.name}} + ArtifactLocation: $(Pipeline.Workspace)/packages-signed/${{artifact.groupId}}/${{artifact.name}} PackageRepository: Maven ReleaseSha: $(Build.SourceVersion) @@ -221,12 +218,11 @@ stages: isProduction: true inputs: - input: pipelineArtifact - artifactName: '${{parameters.ArtifactName}}-esrp-flattened' - targetPath: '$(Pipeline.Workspace)/${{parameters.ArtifactName}}-esrp-flattened' - + artifactName: 'packages-esrp-flattened' + targetPath: '$(Pipeline.Workspace)/packages-esrp-flattened' pool: - name: azsdk-pool-mms-win-2022-general - image: azsdk-pool-mms-win-2022-1espt + name: $(WINDOWSPOOL) + image: $(WINDOWSVMIMAGE) os: windows strategy: runOnce: @@ -234,7 +230,7 @@ stages: steps: - template: /eng/pipelines/templates/steps/java-esrp-publishing.yml parameters: - FlattenedDirectory: $(Pipeline.Workspace)/${{parameters.ArtifactName}}-esrp-flattened + FlattenedDirectory: $(Pipeline.Workspace)/packages-esrp-flattened - job: PublishDevFeedPackage displayName: "Publish to Java Dev feed" @@ -244,8 +240,8 @@ stages: timeoutInMinutes: 120 dependsOn: PublishESRPPackage pool: - name: azsdk-pool-mms-win-2022-general - image: azsdk-pool-mms-win-2022-1espt + name: $(WINDOWSPOOL) + image: $(WINDOWSVMIMAGE) os: windows steps: - checkout: azure-sdk-build-tools @@ -260,26 +256,26 @@ stages: - template: /eng/pipelines/templates/steps/download-credscan-suppressions.yml - download: current displayName: 'Download Artifacts' - artifact: ${{parameters.ArtifactName}}-signed + artifact: packages-signed - template: tools/gpg/gpg.yml@azure-sdk-build-tools # Publish to the azure-sdk-for-java feed. - template: /eng/pipelines/templates/steps/java-dev-feed-publishing.yml parameters: - ArtifactDirectory: $(Pipeline.Workspace)/${{parameters.ArtifactName}}-signed + ArtifactDirectory: $(Pipeline.Workspace)/packages-signed RepositoryUrl: https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-java/maven/v1 Target: JavaDevFeed JavaRepoRoot: $(Pipeline.Workspace)/azure-sdk-for-java - template: /eng/common/pipelines/templates/steps/publish-1es-artifact.yml parameters: - ArtifactName: ${{parameters.ArtifactName}}-javadevfeed-$(System.JobAttempt) - ArtifactPath: $(Pipeline.Workspace)/${{parameters.ArtifactName}}-signed + ArtifactName: packages-javadevfeed-$(System.JobAttempt) + ArtifactPath: $(Pipeline.Workspace)/packages-signed - template: /eng/common/pipelines/templates/steps/create-apireview.yml parameters: - ArtifactPath: $(Pipeline.Workspace)/${{parameters.ArtifactName}}-signed + ArtifactPath: $(Pipeline.Workspace)/packages-signed Artifacts: ${{parameters.Artifacts}} - ConfigFileDir: $(Pipeline.Workspace)/${{parameters.ArtifactName}}-signed/PackageInfo + ConfigFileDir: $(Pipeline.Workspace)/packages-signed/PackageInfo MarkPackageAsShipped: true - ArtifactName: ${{parameters.ArtifactName}}-signed + ArtifactName: packages-signed SourceRootPath: $(Pipeline.Workspace)/azure-sdk-for-java - job: UpdatePackageVersion @@ -287,8 +283,8 @@ stages: condition: and(succeeded(), ne(variables['Skip.UpdatePackageVersion'], 'true')) dependsOn: PublishESRPPackage pool: - name: azsdk-pool-mms-win-2022-general - image: azsdk-pool-mms-win-2022-1espt + name: $(WINDOWSPOOL) + image: $(WINDOWSVMIMAGE) os: windows steps: - download: none @@ -336,8 +332,8 @@ stages: dependsOn: PublishESRPPackage pool: - name: azsdk-pool-mms-ubuntu-2004-general - image: azsdk-pool-mms-ubuntu-2004-1espt + name: $(LINUXPOOL) + image: $(LINUXVMIMAGE) os: linux steps: @@ -350,8 +346,8 @@ stages: - '!sdk/**/test-recordings' - '!sdk/**/session-records' - download: current - displayName: 'Download Artifact: ${{parameters.ArtifactName}}' - artifact: ${{parameters.ArtifactName}} + displayName: 'Download Artifact: packages' + artifact: packages - template: /eng/pipelines/templates/steps/mvn-linux-repository-settings.yml @@ -362,7 +358,7 @@ stages: PackageInfoLocations: - ${{ each artifact in parameters.Artifacts }}: - ${{if ne(artifact.skipPublishDocMs, 'true')}}: - - $(Pipeline.Workspace)/${{parameters.ArtifactName}}/PackageInfo/${{artifact.name}}.json + - $(Pipeline.Workspace)/packages/PackageInfo/${{artifact.name}}.json WorkingDirectory: $(System.DefaultWorkingDirectory) TargetDocRepoOwner: $(DocRepoOwner) TargetDocRepoName: $(DocRepoName) @@ -376,25 +372,25 @@ stages: condition: and(succeeded(), ne(variables['Skip.PublishDocs'], 'true')) dependsOn: PublishESRPPackage pool: - name: azsdk-pool-mms-win-2022-general - image: azsdk-pool-mms-win-2022-1espt + name: $(WINDOWSPOOL) + image: $(WINDOWSVMIMAGE) os: windows steps: - template: /eng/common/pipelines/templates/steps/sparse-checkout.yml - download: current - displayName: 'Download Artifact: ${{parameters.ArtifactName}}-signed' - artifact: ${{parameters.ArtifactName}}-signed + displayName: 'Download Artifact: packages-signed' + artifact: packages-signed - ${{ each artifact in parameters.Artifacts }}: - ${{if ne(artifact.skipPublishDocGithubIo, 'true')}}: - pwsh: | - Get-ChildItem -Recurse $(Pipeline.Workspace)/${{parameters.ArtifactName}}-signed/${{artifact.groupId}}/${{artifact.name}} + Get-ChildItem -Recurse $(Pipeline.Workspace)/packages-signed/${{artifact.groupId}}/${{artifact.name}} workingDirectory: $(Pipeline.Workspace) displayName: Output Visible Artifacts - template: /eng/common/pipelines/templates/steps/publish-blobs.yml parameters: - FolderForUpload: '$(Pipeline.Workspace)/${{parameters.ArtifactName}}-signed/${{artifact.groupId}}/${{artifact.name}}' + FolderForUpload: '$(Pipeline.Workspace)/packages-signed/${{artifact.groupId}}/${{artifact.name}}' TargetLanguage: 'java' - ArtifactLocation: $(Pipeline.Workspace)/${{parameters.ArtifactName}}-signed/${{artifact.groupId}}/${{artifact.name}} + ArtifactLocation: $(Pipeline.Workspace)/packages-signed/${{artifact.groupId}}/${{artifact.name}} - ${{if ne(parameters.EnableIntegrationStage, false)}}: - stage: Integration @@ -415,12 +411,12 @@ stages: - ${{ each artifact in parameters.Artifacts }}: - ${{if ne(artifact.skipPublishDevFeed, 'true')}}: - output: pipelineArtifact - artifactName: integration-${{parameters.ArtifactName}}-${{artifact.name}}-javadevfeed - targetPath: $(Pipeline.Workspace)/${{parameters.ArtifactName}}-signed + artifactName: integration-packages-${{artifact.name}}-javadevfeed + targetPath: $(Pipeline.Workspace)/packages-signed pool: - name: azsdk-pool-mms-win-2022-general - image: azsdk-pool-mms-win-2022-1espt + name: $(WINDOWSPOOL) + image: $(WINDOWSVMIMAGE) os: windows steps: - checkout: azure-sdk-build-tools @@ -436,8 +432,8 @@ stages: - template: /eng/pipelines/templates/steps/download-credscan-suppressions.yml - download: current - displayName: 'Download Artifact: ${{parameters.ArtifactName}}-signed' - artifact: ${{parameters.ArtifactName}}-signed + displayName: 'Download Artifact: packages-signed' + artifact: packages-signed - pwsh: | # For safety default to publishing to the private feed. # Publish to https://pkgs.dev.azure.com/azure-sdk/internal/_packaging/azure-sdk-for-java-pr/maven/v1 @@ -459,7 +455,7 @@ stages: parameters: ArtifactID: ${{artifact.name}} GroupID: ${{artifact.groupId}} - ArtifactDirectory: $(Pipeline.Workspace)/${{parameters.ArtifactName}}-signed + ArtifactDirectory: $(Pipeline.Workspace)/packages-signed RepositoryUrl: $(RepositoryUrl) Target: JavaDevFeed JavaRepoRoot: $(Pipeline.Workspace)/azure-sdk-for-java @@ -468,8 +464,8 @@ stages: dependsOn: PublishPackages condition: and(succeeded(), or(eq(variables['SetDevVersion'], 'true'), and(eq(variables['Build.Reason'],'Schedule'), eq(variables['System.TeamProject'], 'internal')))) pool: - name: azsdk-pool-mms-ubuntu-2004-general - image: azsdk-pool-mms-ubuntu-2004-1espt + name: $(LINUXPOOL) + image: $(LINUXVMIMAGE) os: linux steps: - template: /eng/common/pipelines/templates/steps/sparse-checkout.yml @@ -482,9 +478,9 @@ stages: - '!sdk/**/session-records' - download: current displayName: 'Download Artifacts' - artifact: ${{parameters.ArtifactName}} + artifact: packages - pwsh: | - Get-ChildItem -Recurse $(Pipeline.Workspace)/${{parameters.ArtifactName}}/ + Get-ChildItem -Recurse $(Pipeline.Workspace)/packages/ displayName: Show visible artifacts - template: /eng/pipelines/templates/steps/mvn-linux-repository-settings.yml @@ -496,7 +492,7 @@ stages: PackageInfoLocations: - ${{ each artifact in parameters.Artifacts }}: - ${{if ne(artifact.skipPublishDocMs, 'true')}}: - - $(Pipeline.Workspace)/${{parameters.ArtifactName}}/PackageInfo/${{artifact.name}}.json + - $(Pipeline.Workspace)/packages/PackageInfo/${{artifact.name}}.json WorkingDirectory: $(System.DefaultWorkingDirectory) TargetDocRepoOwner: $(DocRepoOwner) TargetDocRepoName: $(DocRepoName) diff --git a/eng/pipelines/templates/stages/archetype-java-release-patch.yml b/eng/pipelines/templates/stages/archetype-java-release-patch.yml index 77e3322402bb..ab8fa0dcc386 100644 --- a/eng/pipelines/templates/stages/archetype-java-release-patch.yml +++ b/eng/pipelines/templates/stages/archetype-java-release-patch.yml @@ -9,9 +9,6 @@ parameters: - name: TestPipeline type: boolean default: false - - name: ArtifactName - type: string - default: 'not-specified' # A different environment will be passed in for service directories that have # live tests enabled for release and ReleaseDependsOnLiveTests is false - name: Environment @@ -31,8 +28,8 @@ stages: variables: - template: /eng/pipelines/templates/variables/globals.yml pool: - name: azsdk-pool-mms-win-2022-general - image: azsdk-pool-mms-win-2022-1espt + name: $(WINDOWSPOOL) + image: $(WINDOWSVMIMAGE) os: windows steps: - checkout: azure-sdk-build-tools @@ -47,20 +44,20 @@ stages: - template: /eng/pipelines/templates/steps/download-credscan-suppressions.yml - download: current - displayName: 'Download Artifact: ${{parameters.ArtifactName}}' - artifact: ${{parameters.ArtifactName}} + displayName: 'Download Artifact: packages' + artifact: packages # Publish the ESRP signed directory. This will still be used by the # Dev feed publish. - template: /eng/common/pipelines/templates/steps/publish-1es-artifact.yml parameters: - ArtifactPath: '$(Pipeline.Workspace)/${{parameters.ArtifactName}}' - ArtifactName: '${{parameters.ArtifactName}}-signed' + ArtifactPath: '$(Pipeline.Workspace)/packages' + ArtifactName: 'packages-signed' # Downloading the ESRP signed artifacts - download: current displayName: 'Download Signed Artifacts' - artifact: ${{parameters.ArtifactName}}-signed + artifact: packages-signed # gpg-sign and create the flattened directory for ESRP bulk publish # Note: The maven release requires the files to be local GPG signed @@ -68,15 +65,15 @@ stages: - template: tools/gpg/gpg.yml@azure-sdk-build-tools - template: /eng/pipelines/templates/steps/gpg-sign-and-flatten.yml parameters: - ArtifactDirectory: $(Pipeline.Workspace)/${{parameters.ArtifactName}}-signed - OutputDirectory: $(Pipeline.Workspace)/${{parameters.ArtifactName}}-esrp-gpg-signed - FlattenedESRPDirectory: $(Pipeline.Workspace)/${{parameters.ArtifactName}}-esrp-flattened + ArtifactDirectory: $(Pipeline.Workspace)/packages-signed + OutputDirectory: $(Pipeline.Workspace)/packages-esrp-gpg-signed + FlattenedESRPDirectory: $(Pipeline.Workspace)/packages-esrp-flattened # The packages-esrp-flattened will be used for the ESRP publish - template: /eng/common/pipelines/templates/steps/publish-1es-artifact.yml parameters: - ArtifactPath: '$(Pipeline.Workspace)/${{parameters.ArtifactName}}-esrp-flattened' - ArtifactName: '${{parameters.ArtifactName}}-esrp-flattened' + ArtifactPath: '$(Pipeline.Workspace)/packages-esrp-flattened' + ArtifactName: 'packages-esrp-flattened' # We generate two interdependent stages for each artifact listed in the ci.yml file, creates the release # in GitHub. The Release stage publishes to Maven Central. Both stages require approval since they @@ -95,20 +92,20 @@ stages: variables: - template: /eng/pipelines/templates/variables/globals.yml pool: - name: azsdk-pool-mms-win-2022-general - image: azsdk-pool-mms-win-2022-1espt + name: $(WINDOWSPOOL) + image: $(WINDOWSVMIMAGE) os: windows steps: - template: /eng/common/pipelines/templates/steps/sparse-checkout.yml - template: /eng/common/pipelines/templates/steps/retain-run.yml # No pattern, just download everything that's been signed - download: current - displayName: 'Download Artifact: ${{parameters.ArtifactName}}-signed' - artifact: ${{parameters.ArtifactName}}-signed + displayName: 'Download Artifact: packages-signed' + artifact: packages-signed - ${{ each artifact in parameters.Artifacts }}: - template: /eng/common/pipelines/templates/steps/create-tags-and-git-release.yml parameters: - ArtifactLocation: $(Pipeline.Workspace)/${{parameters.ArtifactName}}-signed/${{artifact.groupId}}/${{artifact.name}} + ArtifactLocation: $(Pipeline.Workspace)/packages-signed/${{artifact.groupId}}/${{artifact.name}} PackageRepository: Maven ReleaseSha: $(Build.SourceVersion) @@ -127,12 +124,12 @@ stages: isProduction: true inputs: - input: pipelineArtifact - artifactName: '${{parameters.ArtifactName}}-esrp-flattened' - targetPath: '$(Pipeline.Workspace)/${{parameters.ArtifactName}}-esrp-flattened' + artifactName: 'packages-esrp-flattened' + targetPath: '$(Pipeline.Workspace)/packages-esrp-flattened' pool: - name: azsdk-pool-mms-win-2022-general - image: azsdk-pool-mms-win-2022-1espt + name: $(WINDOWSPOOL) + image: $(WINDOWSVMIMAGE) os: windows strategy: runOnce: @@ -140,7 +137,7 @@ stages: steps: - template: /eng/pipelines/templates/steps/java-esrp-publishing.yml parameters: - FlattenedDirectory: $(Pipeline.Workspace)/${{parameters.ArtifactName}}-esrp-flattened + FlattenedDirectory: $(Pipeline.Workspace)/packages-esrp-flattened - job: PublishDevFeedPackage displayName: "Publish to Java Dev feed" @@ -150,8 +147,8 @@ stages: timeoutInMinutes: 120 dependsOn: PublishESRPPackage pool: - name: azsdk-pool-mms-win-2022-general - image: azsdk-pool-mms-win-2022-1espt + name: $(WINDOWSPOOL) + image: $(WINDOWSVMIMAGE) os: windows steps: - checkout: azure-sdk-build-tools @@ -166,28 +163,28 @@ stages: - template: /eng/pipelines/templates/steps/download-credscan-suppressions.yml - download: current displayName: 'Download Artifacts' - artifact: ${{parameters.ArtifactName}}-signed + artifact: packages-signed - template: tools/gpg/gpg.yml@azure-sdk-build-tools # After publishing to Maven, publish to the azure-sdk-for-java feed. The reason for # this is that the azure-sdk-for-java feed will have the package available immediately # whereas Maven can take several hours for the package to become available. - template: /eng/pipelines/templates/steps/java-dev-feed-publishing.yml parameters: - ArtifactDirectory: $(Pipeline.Workspace)/${{parameters.ArtifactName}}-signed + ArtifactDirectory: $(Pipeline.Workspace)/packages-signed RepositoryUrl: https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-java/maven/v1 Target: JavaDevFeed JavaRepoRoot: $(Pipeline.Workspace)/azure-sdk-for-java - template: /eng/common/pipelines/templates/steps/publish-1es-artifact.yml parameters: - ArtifactName: ${{parameters.ArtifactName}}-javadevfeed-$(System.JobAttempt) - ArtifactPath: $(Pipeline.Workspace)/${{parameters.ArtifactName}}-signed + ArtifactName: packages-javadevfeed-$(System.JobAttempt) + ArtifactPath: $(Pipeline.Workspace)/packages-signed - template: /eng/common/pipelines/templates/steps/create-apireview.yml parameters: - ArtifactPath: $(Pipeline.Workspace)/${{parameters.ArtifactName}}-signed + ArtifactPath: $(Pipeline.Workspace)/packages-signed Artifacts: ${{parameters.Artifacts}} - ConfigFileDir: $(Pipeline.Workspace)/${{parameters.ArtifactName}}-signed/PackageInfo + ConfigFileDir: $(Pipeline.Workspace)/packages-signed/PackageInfo MarkPackageAsShipped: true - ArtifactName: ${{parameters.ArtifactName}}-signed + ArtifactName: packages-signed SourceRootPath: $(Pipeline.Workspace)/azure-sdk-for-java - job: UpdatePackageVersion @@ -199,8 +196,8 @@ stages: - name: ArtifactsJson value: '${{ convertToJson(parameters.Artifacts) }}' pool: - name: azsdk-pool-mms-win-2022-general - image: azsdk-pool-mms-win-2022-1espt + name: $(WINDOWSPOOL) + image: $(WINDOWSVMIMAGE) os: windows steps: - download: none @@ -248,8 +245,8 @@ stages: dependsOn: PublishESRPPackage pool: - name: azsdk-pool-mms-ubuntu-2004-general - image: azsdk-pool-mms-ubuntu-2004-1espt + name: $(LINUXPOOL) + image: $(LINUXVMIMAGE) os: linux variables: @@ -265,8 +262,8 @@ stages: - '!sdk/**/test-recordings/*' - '!sdk/**/session-records/*' - download: current - displayName: 'Download Artifact: ${{parameters.ArtifactName}}' - artifact: ${{parameters.ArtifactName}} + displayName: 'Download Artifact: packages' + artifact: packages - template: /eng/pipelines/templates/steps/mvn-linux-repository-settings.yml @@ -277,7 +274,7 @@ stages: PackageInfoLocations: - ${{ each artifact in parameters.Artifacts }}: - ${{if ne(artifact.skipPublishDocMs, 'true')}}: - - $(Pipeline.Workspace)/${{parameters.ArtifactName}}/PackageInfo/${{artifact.name}}.json + - $(Pipeline.Workspace)/packages/PackageInfo/${{artifact.name}}.json WorkingDirectory: $(System.DefaultWorkingDirectory) TargetDocRepoOwner: $(DocRepoOwner) TargetDocRepoName: $(DocRepoName) @@ -294,22 +291,22 @@ stages: variables: - template: /eng/pipelines/templates/variables/globals.yml pool: - name: azsdk-pool-mms-win-2022-general - image: azsdk-pool-mms-win-2022-1espt + name: $(WINDOWSPOOL) + image: $(WINDOWSVMIMAGE) os: windows steps: - template: /eng/common/pipelines/templates/steps/sparse-checkout.yml - download: current - displayName: 'Download Artifact: ${{parameters.ArtifactName}}-signed' - artifact: ${{parameters.ArtifactName}}-signed + displayName: 'Download Artifact: packages-signed' + artifact: packages-signed - ${{ each artifact in parameters.Artifacts }}: - ${{if ne(artifact.skipPublishDocGithubIo, 'true')}}: - pwsh: | - Get-ChildItem -Recurse $(Pipeline.Workspace)/${{parameters.ArtifactName}}-signed/${{artifact.groupId}}/${{artifact.name}} + Get-ChildItem -Recurse $(Pipeline.Workspace)/packages-signed/${{artifact.groupId}}/${{artifact.name}} workingDirectory: $(Pipeline.Workspace) displayName: Output Visible Artifacts - template: /eng/common/pipelines/templates/steps/publish-blobs.yml parameters: - FolderForUpload: '$(Pipeline.Workspace)/${{parameters.ArtifactName}}-signed/${{artifact.groupId}}/${{artifact.name}}' + FolderForUpload: '$(Pipeline.Workspace)/packages-signed/${{artifact.groupId}}/${{artifact.name}}' TargetLanguage: 'java' - ArtifactLocation: $(Pipeline.Workspace)/${{parameters.ArtifactName}}-signed/${{artifact.groupId}}/${{artifact.name}} + ArtifactLocation: $(Pipeline.Workspace)/packages-signed/${{artifact.groupId}}/${{artifact.name}} diff --git a/eng/pipelines/templates/stages/archetype-java-release-pom-only.yml b/eng/pipelines/templates/stages/archetype-java-release-pom-only.yml index e58675156284..308c949b127a 100644 --- a/eng/pipelines/templates/stages/archetype-java-release-pom-only.yml +++ b/eng/pipelines/templates/stages/archetype-java-release-pom-only.yml @@ -1,6 +1,5 @@ parameters: Artifacts: [] - ArtifactName: 'not-specified' EnableIntegrationStage: true stages: @@ -16,8 +15,8 @@ stages: variables: - template: /eng/pipelines/templates/variables/globals.yml pool: - name: azsdk-pool-mms-win-2022-general - image: azsdk-pool-mms-win-2022-1espt + name: $(WINDOWSPOOL) + image: $(WINDOWSVMIMAGE) os: windows steps: - checkout: azure-sdk-build-tools @@ -32,24 +31,24 @@ stages: - template: /eng/pipelines/templates/steps/download-credscan-suppressions.yml - download: current - displayName: 'Download Artifact: ${{parameters.ArtifactName}}' - artifact: ${{parameters.ArtifactName}} + displayName: 'Download Artifact: packages' + artifact: packages - template: tools/java-esrp-signing/java-esrp-signing.yml@azure-sdk-build-tools parameters: Artifacts: ${{parameters.Artifacts}} - ArtifactDirectory: $(Pipeline.Workspace)/${{parameters.ArtifactName}} + ArtifactDirectory: $(Pipeline.Workspace)/packages # Publish the ESRP signed directory. - template: /eng/common/pipelines/templates/steps/publish-1es-artifact.yml parameters: - ArtifactPath: '$(Pipeline.Workspace)/${{parameters.ArtifactName}}' - ArtifactName: '${{parameters.ArtifactName}}-signed' + ArtifactPath: '$(Pipeline.Workspace)/packages' + ArtifactName: 'packages-signed' # Downloading the ESRP signed artifacts - download: current displayName: 'Download Signed Artifacts' - artifact: ${{parameters.ArtifactName}}-signed + artifact: packages-signed # gpg-sign and create the flattened directory for ESRP bulk publish # Note: The maven release requires the files to be local GPG signed @@ -57,15 +56,15 @@ stages: - template: tools/gpg/gpg.yml@azure-sdk-build-tools - template: /eng/pipelines/templates/steps/gpg-sign-and-flatten.yml parameters: - ArtifactDirectory: $(Pipeline.Workspace)/${{parameters.ArtifactName}}-signed - OutputDirectory: $(Pipeline.Workspace)/${{parameters.ArtifactName}}-esrp-gpg-signed - FlattenedESRPDirectory: $(Pipeline.Workspace)/${{parameters.ArtifactName}}-esrp-flattened + ArtifactDirectory: $(Pipeline.Workspace)/packages-signed + OutputDirectory: $(Pipeline.Workspace)/packages-esrp-gpg-signed + FlattenedESRPDirectory: $(Pipeline.Workspace)/packages-esrp-flattened # The packages-esrp-flattened will be used for the ESRP publish - template: /eng/common/pipelines/templates/steps/publish-1es-artifact.yml parameters: - ArtifactPath: '$(Pipeline.Workspace)/${{parameters.ArtifactName}}-esrp-flattened' - ArtifactName: '${{parameters.ArtifactName}}-esrp-flattened' + ArtifactPath: '$(Pipeline.Workspace)/packages-esrp-flattened' + ArtifactName: 'packages-esrp-flattened' # We generate two interdepdent stages for each artifact listed in the ci.yml file, creates the release # in GitHub. The Release stage publishes to Maven Central. Both stages require approval since they @@ -85,19 +84,19 @@ stages: variables: - template: /eng/pipelines/templates/variables/globals.yml pool: - name: azsdk-pool-mms-win-2022-general - image: azsdk-pool-mms-win-2022-1espt + name: $(WINDOWSPOOL) + image: $(WINDOWSVMIMAGE) os: windows steps: - download: current - displayName: 'Download Artifact: ${{parameters.ArtifactName}}-signed' - artifact: ${{parameters.ArtifactName}}-signed + displayName: 'Download Artifact: packages-signed' + artifact: packages-signed patterns: ${{artifact.groupId}}/${{artifact.name}}/** - template: /eng/common/pipelines/templates/steps/sparse-checkout.yml - template: /eng/common/pipelines/templates/steps/retain-run.yml - template: /eng/common/pipelines/templates/steps/create-tags-and-git-release.yml parameters: - ArtifactLocation: $(Pipeline.Workspace)/${{parameters.ArtifactName}}-signed/${{artifact.groupId}}/${{artifact.name}} + ArtifactLocation: $(Pipeline.Workspace)/packages-signed/${{artifact.groupId}}/${{artifact.name}} PackageRepository: Maven ReleaseSha: $(Build.SourceVersion) @@ -112,12 +111,12 @@ stages: isProduction: true inputs: - input: pipelineArtifact - artifactName: '${{parameters.ArtifactName}}-esrp-flattened' - targetPath: '$(Pipeline.Workspace)/${{parameters.ArtifactName}}-esrp-flattened' + artifactName: 'packages-esrp-flattened' + targetPath: '$(Pipeline.Workspace)/packages-esrp-flattened' pool: - name: azsdk-pool-mms-win-2022-general - image: azsdk-pool-mms-win-2022-1espt + name: $(WINDOWSPOOL) + image: $(WINDOWSVMIMAGE) os: windows strategy: runOnce: @@ -125,7 +124,7 @@ stages: steps: - template: /eng/pipelines/templates/steps/java-esrp-publishing.yml parameters: - FlattenedDirectory: $(Pipeline.Workspace)/${{parameters.ArtifactName}}-esrp-flattened + FlattenedDirectory: $(Pipeline.Workspace)/packages-esrp-flattened - job: PublishDevFeedPackage displayName: "Publish to Java Dev feed" @@ -134,13 +133,13 @@ stages: variables: - template: /eng/pipelines/templates/variables/globals.yml pool: - name: azsdk-pool-mms-win-2022-general - image: azsdk-pool-mms-win-2022-1espt + name: $(WINDOWSPOOL) + image: $(WINDOWSVMIMAGE) os: windows steps: - download: current - displayName: 'Download Artifact: ${{parameters.ArtifactName}}-signed' - artifact: ${{parameters.ArtifactName}}-signed + displayName: 'Download Artifact: packages-signed' + artifact: packages-signed patterns: ${{artifact.groupId}}/${{artifact.name}}/** - checkout: azure-sdk-build-tools path: azure-sdk-build-tools @@ -158,11 +157,11 @@ stages: parameters: ArtifactID: ${{artifact.name}} GroupID: ${{artifact.groupId}} - ArtifactDirectory: $(Pipeline.Workspace)/${{parameters.ArtifactName}}-signed + ArtifactDirectory: $(Pipeline.Workspace)/packages-signed RepositoryUrl: https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-java/maven/v1 Target: JavaDevFeed JavaRepoRoot: $(Pipeline.Workspace)/azure-sdk-for-java - template: /eng/common/pipelines/templates/steps/publish-1es-artifact.yml parameters: - ArtifactName: ${{parameters.ArtifactName}}-${{artifact.name}}-javadevfeed-$(System.JobAttempt) - ArtifactPath: $(Pipeline.Workspace)/${{parameters.ArtifactName}}-signed + ArtifactName: packages-${{artifact.name}}-javadevfeed-$(System.JobAttempt) + ArtifactPath: $(Pipeline.Workspace)/packages-signed diff --git a/eng/pipelines/templates/stages/archetype-sdk-client-patch.yml b/eng/pipelines/templates/stages/archetype-sdk-client-patch.yml index f11848e74f97..a95f91099431 100644 --- a/eng/pipelines/templates/stages/archetype-sdk-client-patch.yml +++ b/eng/pipelines/templates/stages/archetype-sdk-client-patch.yml @@ -28,8 +28,6 @@ extends: variables: - template: /eng/pipelines/templates/variables/globals.yml - - name: ArtifactName - value: 'packages' - name: ArtifactsJson value: '${{ convertToJson(parameters.Artifacts) }}' - name: ArtifactsJsonEscaped @@ -38,8 +36,8 @@ extends: value: '${{ convertToJson(parameters.AdditionalModules) }}' pool: - name: azsdk-pool-mms-ubuntu-2004-general - image: azsdk-pool-mms-ubuntu-2004-1espt + name: $(LINUXPOOL) + image: $(LINUXVMIMAGE) os: linux steps: @@ -166,7 +164,7 @@ extends: - template: /eng/common/pipelines/templates/steps/publish-1es-artifact.yml parameters: ArtifactPath: $(Build.ArtifactStagingDirectory) - ArtifactName: '$(ArtifactName)' + ArtifactName: 'packages' - template: /eng/common/pipelines/templates/steps/publish-1es-artifact.yml parameters: @@ -186,8 +184,8 @@ extends: value: '${{ convertToJson(parameters.AdditionalModules) }}' pool: - name: azsdk-pool-mms-ubuntu-2004-general - image: azsdk-pool-mms-ubuntu-2004-1espt + name: $(LINUXPOOL) + image: $(LINUXVMIMAGE) os: linux steps: @@ -324,4 +322,3 @@ extends: SDKType: ${{ parameters.SDKType }} Artifacts: ${{ parameters.Artifacts }} TestPipeline: ${{ parameters.TestPipeline }} - ArtifactName: packages diff --git a/eng/pipelines/templates/stages/archetype-sdk-client.yml b/eng/pipelines/templates/stages/archetype-sdk-client.yml index 4995c2d62188..efc8749b9055 100644 --- a/eng/pipelines/templates/stages/archetype-sdk-client.yml +++ b/eng/pipelines/templates/stages/archetype-sdk-client.yml @@ -156,7 +156,6 @@ extends: - ${{ if ne(artifact.releaseInBatch, 'false') }}: - ${{ artifact }} TestPipeline: ${{ parameters.TestPipeline }} - ArtifactName: packages # This where the MavenBreakGlassApprovers is set for the release tasks. ${{ if and(in(variables['Build.Reason'], 'Manual', ''), eq(parameters.ReleaseDependsOnLiveTests, 'false')) }}: Environment: 'MavenBreakGlassApprovers' diff --git a/eng/pipelines/templates/stages/archetype-sdk-pom-only.yml b/eng/pipelines/templates/stages/archetype-sdk-pom-only.yml index 682b6ff28604..f1f453c8abe1 100644 --- a/eng/pipelines/templates/stages/archetype-sdk-pom-only.yml +++ b/eng/pipelines/templates/stages/archetype-sdk-pom-only.yml @@ -53,6 +53,4 @@ extends: - ${{ artifact }} - ${{ else }}: - ${{ parameters.Artifacts }} - ArtifactName: packages EnableIntegrationStage: false - diff --git a/eng/pipelines/templates/stages/cosmos-sdk-client.yml b/eng/pipelines/templates/stages/cosmos-sdk-client.yml index bb45d32c4d6f..fb0165a6d716 100644 --- a/eng/pipelines/templates/stages/cosmos-sdk-client.yml +++ b/eng/pipelines/templates/stages/cosmos-sdk-client.yml @@ -211,5 +211,3 @@ extends: - ${{ if ne(artifact.releaseInBatch, 'false') }}: - ${{ artifact }} TestPipeline: false - ArtifactName: packages - diff --git a/eng/pipelines/templates/steps/compilation.check.yml b/eng/pipelines/templates/steps/compilation.check.yml deleted file mode 100644 index 74ae07f649f8..000000000000 --- a/eng/pipelines/templates/steps/compilation.check.yml +++ /dev/null @@ -1,39 +0,0 @@ -parameters: - - name: Artifact - type: object - default: {} - - name: ArtifactName - type: string - default: "not-specified" - - name: ArtifactDirectory - type: string - default: "not-specified" - - name: RetryLimit - type: number - default: 5 - -steps: - - download: current - artifact: ${{parameters.ArtifactName}}-signed - - pwsh: | - $pomf = Get-ChildItem "${{parameters.ArtifactDirectory}}/*.pom" - if($pomf.name -notmatch "${{parameters.Artifact.name}}") { - Write-Error "Package name mismatch: expecting ${{parameters.Artifact.name}}, found $pomf.name" - exit 1 - } - if($pomf.Count -ne 1) { - Write-Error "Got $pomf.Count packages, expecting 1." - exit 1 - } - foreach ($retry in 0..${{ parameters.RetryLimit }}) { - Write-Host "mvn --no-transfer-progress --update-snapshots -f $pomf clean compile" - mvn --no-transfer-progress --update-snapshots -f $pomf clean compile - if (!$LASTEXITCODE) { exit 0 } - Write-Host "Install failed, retrying in 1 minute..." - Start-Sleep -s 60 - } - - exit 1 - - workingDirectory: ${{parameters.ArtifactDirectory}} - displayName: "Verify Package Compilation" diff --git a/sdk/boms/azure-sdk-template-bom/pom.xml b/sdk/boms/azure-sdk-template-bom/pom.xml index e15bb63652ee..bfdd2c232ebe 100644 --- a/sdk/boms/azure-sdk-template-bom/pom.xml +++ b/sdk/boms/azure-sdk-template-bom/pom.xml @@ -5,7 +5,7 @@ 4.0.0 com.azure azure-sdk-template-bom - 1.0.0-beta.9 + 1.0.0-beta.10 pom Azure Java SDK Template BOM (Bill of Materials) BOM used for testing the release pipeline and nothing else.