This is an automated email from the ASF dual-hosted git repository.

JingsongLi pushed a commit to branch release-2.0
in repository https://gitbox.apache.org/repos/asf/paimon.git


The following commit(s) were added to refs/heads/release-2.0 by this push:
     new c243b82a35 [release] Fix RC verification and Java packaging
c243b82a35 is described below

commit c243b82a357435171854eaa5cb8ee4427aee6e7d
Author: JingsongLi <[email protected]>
AuthorDate: Sat Aug 1 21:08:49 2026 +0800

    [release] Fix RC verification and Java packaging
---
 .github/workflows/release-java.yml                 |  5 ++++-
 docs/docs/project/creating-a-release.md            | 12 +++++++-----
 docs/docs/project/verifying-a-release-candidate.md |  9 ++++++---
 3 files changed, 17 insertions(+), 9 deletions(-)

diff --git a/.github/workflows/release-java.yml 
b/.github/workflows/release-java.yml
index 66dbdbf9ec..65fbde7166 100644
--- a/.github/workflows/release-java.yml
+++ b/.github/workflows/release-java.yml
@@ -284,12 +284,15 @@ jobs:
               exit 1
             fi
             if [[ "${packaging}" == "jar" ]]; then
-              for classifier in '' '-sources' '-javadoc'; do
+              for classifier in '' '-sources'; do
                 if [[ ! -f "${artifact_base}${classifier}.jar" ]]; then
                   echo "Missing release JAR: 
${artifact_base}${classifier}.jar" >&2
                   exit 1
                 fi
               done
+              if [[ ! -f "${artifact_base}-javadoc.jar" ]]; then
+                echo "No Javadoc JAR was produced for 
${group_id}:${artifact_id}"
+              fi
             fi
           done < "${expected_projects}"
 
diff --git a/docs/docs/project/creating-a-release.md 
b/docs/docs/project/creating-a-release.md
index 9e501d4803..5476d1ed6a 100644
--- a/docs/docs/project/creating-a-release.md
+++ b/docs/docs/project/creating-a-release.md
@@ -87,7 +87,7 @@ The workflow has the following contract:
 | Java 8 | Use Temurin 8 to deploy the default reactor with Spark 3 and Flink 
1 into a local Maven repository image |
 | Java 11 | Use Temurin 11 to deploy Flink 2 and Iceberg into a local Maven 
repository image |
 | Java 17 | Use Temurin 17 to deploy Spark 4 into a local Maven repository 
image |
-| Java repository | Require every deploy-enabled effective-POM project and its 
POM, main JAR, source JAR, and Javadoc JAR; merge all three lanes; reject 
conflicting coordinates; then upload the complete unsigned Maven repository 
image, checksums, manifests, and logs |
+| Java repository | Require every deploy-enabled effective-POM project and its 
POM, main JAR, and source JAR; retain Javadoc JARs where Maven produces them; 
merge all three lanes; reject conflicting coordinates; then upload the complete 
unsigned Maven repository image, checksums, manifests, and logs |
 | Python package | Build and validate the PyPaimon source distribution and 
universal wheel, then upload them as workflow artifacts |
 | Python publish | Publish an RC to TestPyPI or a final tag to PyPI after 
Python packaging passes, without waiting for Java packaging |
 
@@ -100,8 +100,9 @@ release blocker.
 The Java jobs run independently of the common validation and Python jobs. They
 use `-Dgpg.skip=true`, deploy only to runner-local file repositories, and never
 receive Nexus credentials or a GPG private key. The combined repository image
-contains POMs, main artifacts, source JARs, Javadoc JARs, and Maven-generated
-checksums. It is the input to the RM's local signing and Nexus
+contains POMs, main artifacts, source JARs, Javadoc JARs produced by Maven, and
+Maven-generated checksums. Scala-only and wrapper modules may not produce a
+Javadoc JAR. The image is the input to the RM's local signing and Nexus
 staging steps, not itself an ASF release. The Python RC job uses the
 `TEST_PYPI_API_TOKEN` repository Actions secret to publish
 `PAIMON_VERSIONrcRC_NUMBER` to TestPyPI. The final job uses the
@@ -152,6 +153,7 @@ For the 2.0.0 release, use matching Java and Python 
versions:
 ```shell
 PAIMON_VERSION="2.0.0"
 RC_NUMBER="1"
+RELEASE_BRANCH="release-2.0"
 
 RC_REF="release-${PAIMON_VERSION}-rc${RC_NUMBER}"
 RELEASE_TAG="release-${PAIMON_VERSION}"
@@ -165,8 +167,8 @@ directories, vote email, and Java package manifests.
 ```shell
 git clone https://github.com/apache/paimon.git paimon-release
 cd paimon-release
-git checkout master
-git pull --ff-only origin master
+git checkout "${RELEASE_BRANCH}"
+git pull --ff-only origin "${RELEASE_BRANCH}"
 git status --short
 ```
 
diff --git a/docs/docs/project/verifying-a-release-candidate.md 
b/docs/docs/project/verifying-a-release-candidate.md
index 6a4196b5ef..145cbaf345 100644
--- a/docs/docs/project/verifying-a-release-candidate.md
+++ b/docs/docs/project/verifying-a-release-candidate.md
@@ -137,7 +137,7 @@ its source package and removes that temporary directory 
when it finishes:
 
 ```shell
 cd "paimon-${PAIMON_VERSION}"
-mvn -ntp -DskipTests apache-rat:check
+mvn -N -ntp -DskipTests apache-rat:check
 cd ..
 
 SOURCE_PACKAGE="${PYPAIMON_ARCHIVE}" \
@@ -221,7 +221,9 @@ For the staging repository:
   vote.
 - Confirm that the version is `PAIMON_VERSION`, never a snapshot.
 - Confirm that each published module has its POM, main artifact, source JAR,
-  Javadoc JAR, detached signatures, and checksums where applicable.
+  detached signatures, and checksums where applicable. Confirm Javadoc JARs for
+  modules where Maven produces them; Scala-only and wrapper modules may not
+  produce one.
 - Inspect shaded and bundled JARs for the required `META-INF/LICENSE` and
   `META-INF/NOTICE` content and for unexpected duplicate or bundled
   dependencies.
@@ -321,7 +323,8 @@ Open the workflow run linked in the vote email and confirm:
 - the combined Java repository artifact has the expected tag, commit,
   manifest, and SHA-512 checksums and identifies all three lanes;
 - each lane's deploy-enabled expected-project inventory matches its POMs, main
-  JARs, source JARs, and Javadoc JARs in the combined repository;
+  JARs, and source JARs in the combined repository, with Javadoc JARs retained
+  where Maven produces them;
 - the Python packaging and Python publishing job results are clearly recorded;
 - the logs show the expected JDK and Python versions;
 - the TestPyPI version equals the version in the vote email;

Reply via email to