hudi-agent commented on code in PR #18747:
URL: https://github.com/apache/hudi/pull/18747#discussion_r3250645247


##########
release/release_guide.md:
##########
@@ -425,8 +425,23 @@ Set up a few environment variables to simplify Maven 
commands that follow. This
               module. See [checklist](#checklist-to-proceed-to-the-next-step).
        2. Continue with Java 17 build for Spark 4 bundle, run `export 
JAVA_HOME=$(/usr/libexec/java_home -v 17)` and
           `/scripts/release/deploy_staging_jars_java17.sh 2>&1 | tee -a 
"/tmp/${RELEASE_VERSION}-${RC_NUM}.deploy2.log"`
-   5. Note that the artifacts from Java 17 build are uploaded to a separate 
staging repo. You need to manually
-      download those artifacts and upload them to the first staging repo so 
that all artifacts stay in the same repo.
+   5. Note that the artifacts from Java 17 build are uploaded to a separate 
staging repo. Use the
+      `copy_staging_repo.sh` script to copy all artifacts from the Java 17 
staging repo into the Java 11 staging repo
+      so that all artifacts stay in the same repo.
+      1. Identify both staging repo IDs from [Apache Nexus Staging 
Repositories](https://repository.apache.org/#stagingRepositories)
+         (e.g., `orgapachehudi-1177` for Java 17, `orgapachehudi-1176` for 
Java 11). Make sure both repos are still in
+         the "open" state (not closed).
+      2. First do a dry-run to verify the list of artifacts to be copied:
+         ```shell
+         ./scripts/release/copy_staging_repo.sh --dry-run <java17-repo-id> 
<java11-repo-id>
+         ```
+      3. Then run the actual copy:
+         ```shell
+         ./scripts/release/copy_staging_repo.sh <java17-repo-id> 
<java11-repo-id> 2>&1 | tee -a 
"/tmp/${RELEASE_VERSION}-${RC_NUM}.copy_staging.log"
+         ```
+      4. The script reads Nexus credentials from `~/.m2/settings.xml` (server 
id `apache.releases.https`), downloads
+         every artifact from the source repo, and re-uploads them to the 
target repo. After it finishes, drop the
+         Java 17 staging repo on Apache Nexus.

Review Comment:
   🤖 Dropping the Java 17 staging repo right after the copy script finishes is 
irreversible — if any artifact failed to upload (or if signatures/checksums are 
missing), the original source is gone. This step could direct the release 
manager to first complete the verification in step 6 (confirming the Java 11 
repo contains all expected artifacts, including `.asc`/`.md5`/`.sha1` files for 
each jar/pom) and only then drop the Java 17 repo.
   
   <sub><i>- AI-generated; verify before applying. React 👍/👎 to flag 
quality.</i></sub>



##########
release/release_guide.md:
##########
@@ -425,8 +425,23 @@ Set up a few environment variables to simplify Maven 
commands that follow. This
               module. See [checklist](#checklist-to-proceed-to-the-next-step).
        2. Continue with Java 17 build for Spark 4 bundle, run `export 
JAVA_HOME=$(/usr/libexec/java_home -v 17)` and
           `/scripts/release/deploy_staging_jars_java17.sh 2>&1 | tee -a 
"/tmp/${RELEASE_VERSION}-${RC_NUM}.deploy2.log"`
-   5. Note that the artifacts from Java 17 build are uploaded to a separate 
staging repo. You need to manually
-      download those artifacts and upload them to the first staging repo so 
that all artifacts stay in the same repo.
+   5. Note that the artifacts from Java 17 build are uploaded to a separate 
staging repo. Use the
+      `copy_staging_repo.sh` script to copy all artifacts from the Java 17 
staging repo into the Java 11 staging repo
+      so that all artifacts stay in the same repo.
+      1. Identify both staging repo IDs from [Apache Nexus Staging 
Repositories](https://repository.apache.org/#stagingRepositories)
+         (e.g., `orgapachehudi-1177` for Java 17, `orgapachehudi-1176` for 
Java 11). Make sure both repos are still in
+         the "open" state (not closed).
+      2. First do a dry-run to verify the list of artifacts to be copied:
+         ```shell
+         ./scripts/release/copy_staging_repo.sh --dry-run <java17-repo-id> 
<java11-repo-id>
+         ```
+      3. Then run the actual copy:
+         ```shell
+         ./scripts/release/copy_staging_repo.sh <java17-repo-id> 
<java11-repo-id> 2>&1 | tee -a 
"/tmp/${RELEASE_VERSION}-${RC_NUM}.copy_staging.log"
+         ```

Review Comment:
   🤖 It might help to clarify what the script considers an "artifact" — 
specifically, does it also copy the accompanying `.asc` signature files and 
`.md5`/`.sha1` checksum files that Apache releases require? If not, the 
resulting Java 11 staging repo would fail signature verification during the 
vote. Worth calling out explicitly in the doc (or confirming the script handles 
them).
   
   <sub><i>- AI-generated; verify before applying. React 👍/👎 to flag 
quality.</i></sub>



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to