Release Verification and Retry#49415
Conversation
|
@raych1 -- I've wired this to run in |
There was a problem hiding this comment.
Pull request overview
Adds an optional post-publish verification step to the Java ESRP Maven Central release flow to confirm that published main JARs are actually downloadable from Maven Central after ESRP publish completes.
Changes:
- Added a
VerifyJarPublishparameter and an optional PowerShell verification step afterEsrpRelease@9that retries Maven Central JAR downloads and fails on persistent misses. - Plumbed
VerifyJarPublishthrough the batch Java release stage template to control enabling the verification behavior.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| eng/pipelines/templates/steps/java-esrp-publishing.yml | Adds an opt-in PowerShell step to verify published JARs are downloadable from Maven Central with retries. |
| eng/pipelines/templates/stages/archetype-java-release-batch.yml | Introduces/passes a stage parameter to enable the new post-publish JAR verification step. |
| --batch-mode ` | ||
| -q ` | ||
| org.apache.maven.plugins:maven-dependency-plugin:copy ` | ||
| -DremoteRepositories=central::default::https://repo.maven.apache.org/maven2 ` |
There was a problem hiding this comment.
This would need to be the CFS Url.
There was a problem hiding this comment.
How should we handle CFS in this context? We're supposed to be checking Maven Central directly and if we checked in another job, this job which runs the ESRP release itself wouldn't be retryable without running all jobs in the stage.
There was a problem hiding this comment.
After discussion: This should instead by the public maven Azure SDK for Java feed
I think we should add to patch release pipeline too. |
|
Taking this back into draft mode while I test the CFS change. |
Summary
This PR adds optional post-publish verification for the Java ESRP Maven Central flow. When enabled, the release pipeline verifies that the published package main JARs are actually downloadable from Maven Central after the ESRP publish step completes.
Example release with a "failed" package release and success on retry (see attempts 1 and 2): https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6402988&view=logs&j=db16c569-aaa8-51c6-7af6-7a4439e8b73c&t=a4b20b29-bac1-5de5-989a-c44c74ee2b32&s=c3fcf85f-577d-5e17-eee8-b87fb40e1fa5
Code changes
eng/pipelines/templates/steps/java-esrp-publishing.ymlVerifyJarPublishtemplate parameter.EsrpRelease@9whenVerifyJarPublishistrue.*.pomfilesmvn help:evaluateto readgroupId,artifactId, andversion${artifactId}-${version}.jarmaven-dependency-plugin:copyeng/pipelines/templates/stages/archetype-java-release-batch.ymlVerifyJarPublishstage parameter.java-esrp-publishing.ymlso the verification step can be turned on for batch Java releases.Behavior
VerifyJarPublish.