This is an automated email from the ASF dual-hosted git repository.
rdblue pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/parquet-java.git
The following commit(s) were added to refs/heads/master by this push:
new 7a9665a39 Prepare RC: use the repositories API to verify staged
artifacts (#3794)
7a9665a39 is described below
commit 7a9665a392551143548477f733c9321c4775b32e
Author: Russell Spitzer <[email protected]>
AuthorDate: Mon Sep 14 18:57:28 2026 -0500
Prepare RC: use the repositories API to verify staged artifacts (#3794)
nexus_check_staging_artifact built URLs under /content/repositories/<id>/,
which does not serve open staging repositories. The check therefore failed
for every RC: prepare-rc.sh runs it before closing, so the repo is always
open at that point. 1.19.0-rc8 aborted this way even though the staging
repo was correct and complete.
Confirmed by probing repository.apache.org: /content/repositories/<id>/...
returned 404 anonymously, with a committer user token, and with the
deployer service account, while /service/local/repositories/<id>/content/...
returned 200. Closing the repo by hand flipped /content/repositories/ to
200, confirming it only serves closed repos.
Switch to the repositories API, which serves a staging repo in both states.
That matters because this function has call sites on both sides of the
close: prepare-rc.sh checks pre-close (open), while cancel-rc.sh and
publish-release.sh reach it via nexus_verify_staging_repo post-close
(closed). Neither of those had run against real Nexus, so both carried
the same latent failure.
Verified against a live staging repo in both states, and end-to-end by
running cancel-rc.sh against a closed repo, which also exercised
nexus_get_staging_repo_metadata and nexus_drop_staging_repo for the
first time.
Co-authored-by: Claude Opus 5 (1M context) <[email protected]>
---
release/libs/_constants.sh | 2 +-
release/libs/_nexus.sh | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/release/libs/_constants.sh b/release/libs/_constants.sh
index 409d5da07..78c3978f2 100644
--- a/release/libs/_constants.sh
+++ b/release/libs/_constants.sh
@@ -29,7 +29,7 @@ APACHE_DIST_DEV_PATH="/dev/parquet"
APACHE_DIST_RELEASE_PATH="/release/parquet"
NEXUS_BASE_URL=${NEXUS_BASE_URL:-"https://repository.apache.org/service/local"}
-NEXUS_CONTENT_BASE_URL=${NEXUS_CONTENT_BASE_URL:-"https://repository.apache.org/content/repositories"}
+NEXUS_CONTENT_BASE_URL=${NEXUS_CONTENT_BASE_URL:-"${NEXUS_BASE_URL}/repositories"}
NEXUS_STAGING_GROUP_URL="https://repository.apache.org/content/groups/staging/org/apache/parquet/"
NEXUS_PROFILE_NAME="org.apache.parquet"
diff --git a/release/libs/_nexus.sh b/release/libs/_nexus.sh
index 1dd3f1c4e..d56adff7d 100644
--- a/release/libs/_nexus.sh
+++ b/release/libs/_nexus.sh
@@ -108,7 +108,7 @@ function nexus_get_staging_repo_metadata {
function nexus_check_staging_artifact {
local repo_id="$1"
local version="$2"
- local
artifact_url="${NEXUS_CONTENT_BASE_URL}/${repo_id}/${NEXUS_VERIFY_GROUP_PATH}/${NEXUS_VERIFY_ARTIFACT_ID}/${version}/${NEXUS_VERIFY_ARTIFACT_ID}-${version}.pom"
+ local
artifact_url="${NEXUS_CONTENT_BASE_URL}/${repo_id}/content/${NEXUS_VERIFY_GROUP_PATH}/${NEXUS_VERIFY_ARTIFACT_ID}/${version}/${NEXUS_VERIFY_ARTIFACT_ID}-${version}.pom"
if [[ ${DRY_RUN:-1} -eq 1 ]]; then
print_command "Dry-run, WOULD HEAD ${artifact_url}"