You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: release/release_guide.md
+33-13Lines changed: 33 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -408,23 +408,43 @@ Set up a few environment variables to simplify Maven commands that follow. This
408
408
1. This will deploy jar artifacts to the Apache Nexus Repository, which is the staging area for deploying jars to Maven Central.
409
409
2. Review all staged artifacts (https://repository.apache.org/). They should contain all relevant parts for each module, including pom.xml, jar, test jar, source, test source, javadoc, etc. Carefully review any new artifacts.
410
410
3. git checkout ${RELEASE_BRANCH}
411
-
4. ./scripts/release/deploy_staging_jars.sh 2>&1 | tee -a "/tmp/${RELEASE_VERSION}-${RC_NUM}.deploy.log"
412
-
1. when prompted for the passphrase, if you have multiple gpg keys in your keyring, make sure that you enter the right passphase corresponding to the same key (FINGERPRINT) as used while generating source release in step f.ii.
413
-
> If the prompt is not for the same key (by default the maven-gpg-plugin will pick up the first key in your keyring so that could be different), then add the following option to your ~/.gnupg/gpg.conf file
414
-
2. make sure your IP is not changing while uploading, otherwise it creates a different staging repo
415
-
3. Use a VPN if you can't prevent your IP from switching
416
-
4. after uploading, inspect the log to make sure all maven tasks said "BUILD SUCCESS"
417
-
5. In case you faced any issue while building `hudi-platform-service` or `hudi-metaserver-server` module, please ensure that you have docker daemon running. This is required to build `hudi-metaserver-server` module. See [checklist](#checklist-to-proceed-to-the-next-step).
418
-
5. Review all staged artifacts by logging into Apache Nexus and clicking on "Staging Repositories" link on left pane. Then find a "open" entry for apachehudi
419
-
6. Ensure it contains all 2 (2.12 and 2.13) artifacts, mainly hudi-spark-bundle-2.12/2.13, hudi-spark3-bundle-2.12/2.13, hudi-spark-2.12/2.13, hudi-spark3-2.12/2.13, hudi-utilities-bundle_2.12/2.13 and hudi-utilities_2.12/2.13.
411
+
4. Given that certain bundle jars are built by Java 11 (Flink 2.0 bundle) and Java 17 (Spark 4 bundle), multiple
412
+
scripts need to be run
413
+
1. For most modules with Java 8 build, run `export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)` and
414
+
`/scripts/release/deploy_staging_jars.sh 2>&1 | tee -a "/tmp/${RELEASE_VERSION}-${RC_NUM}.deploy1.log"`
415
+
1. when prompted for the passphrase, if you have multiple gpg keys in your keyring, make sure that you enter
416
+
the right passphase corresponding to the same key (FINGERPRINT) as used while generating source release in
417
+
step 6.2.
418
+
> If the prompt is not for the same key (by default the maven-gpg-plugin will pick up the first key in your
419
+
keyring so that could be different), then add the following option to your ~/.gnupg/gpg.conf file
420
+
2. make sure your IP is not changing while uploading, otherwise it creates a different staging repo
421
+
3. Use a VPN if you can't prevent your IP from switching
422
+
4. after uploading, inspect the log to make sure all maven tasks said "BUILD SUCCESS"
423
+
5. In case you faced any issue while building `hudi-platform-service` or `hudi-metaserver-server` module,
424
+
please ensure that you have docker daemon running. This is required to build `hudi-metaserver-server`
425
+
module. See [checklist](#checklist-to-proceed-to-the-next-step).
426
+
2. Continue with Java 11 build, run `export JAVA_HOME=$(/usr/libexec/java_home -v 11)` and
427
+
`/scripts/release/deploy_staging_jars_java11.sh 2>&1 | tee -a "/tmp/${RELEASE_VERSION}-${RC_NUM}.deploy2.log"`
428
+
3. Continue with Java 17 build, run `export JAVA_HOME=$(/usr/libexec/java_home -v 17)` and
429
+
`/scripts/release/deploy_staging_jars_java17.sh 2>&1 | tee -a "/tmp/${RELEASE_VERSION}-${RC_NUM}.deploy3.log"`
430
+
5. Note that the artifacts from Java 11 and 17 builds are uploaded to separate staging repos. You need to manually
431
+
download those artifacts and upload them to the first staging repo so that all artifacts stay in the same repo.
432
+
6. Review all staged artifacts by logging into Apache Nexus and clicking on "Staging Repositories" link on left pane.
433
+
Then find a "open" entry for apachehudi
434
+
7. Ensure it contains all 2 (2.12 and 2.13) artifacts, mainly hudi-spark-bundle-2.12/2.13,
435
+
hudi-spark3-bundle-2.12/2.13, hudi-spark-2.12/2.13, hudi-spark3-2.12/2.13, hudi-utilities-bundle_2.12/2.13 and
436
+
hudi-utilities_2.12/2.13.
420
437
> With 0.10.1, we had 4 bundles. spark2 with scala11, spark2 with scala12, spark3.0.x bundles and spark3.1.x bundles. Ensure each spark bundle reflects the version correctly. hudi-spark3.1.2-bundle_2.12-0.10.1.jar and hudi-spark3.0.3-bundle_2.12-0.10.1.jar are the respective bundle names for spark3 bundles.
421
-
7. Once you have ensured everything is good and validation of step 7 succeeds, you can close the staging repo. Until you close, you can re-run deploying to staging multiple times. But once closed, it will create a new staging repo. So ensure you close this, so that the next RC (if need be) is on a new repo. So, once everything is good, close the staging repository on Apache Nexus. When prompted for a description, enter
438
+
8. Once you have ensured everything is good and validation of step 7 succeeds, you can close the staging repo. Until
439
+
you close, you can re-run deploying to staging multiple times. But once closed, it will create a new staging repo.
440
+
So ensure you close this, so that the next RC (if need be) is on a new repo. So, once everything is good, close
441
+
the staging repository on Apache Nexus. When prompted for a description, enter
422
442
> Apache Hudi, version `${RELEASE_VERSION}`, release candidate `${RC_NUM}`.
423
-
8. After closing, run the script to validate the staged bundles again:
443
+
9. After closing, run the script to validate the staged bundles again:
424
444
```shell
425
445
./scripts/release/validate_staged_bundles.sh orgapachehudi-<stage_repo_number>${RELEASE_VERSION}-rc${RC_NUM}2>&1| tee -a /tmp/validate_staged_bundles_output.txt
426
446
```
427
-
9. Run the release candidate bundle validation in GitHub Action by following the instruction in
447
+
10. Run the release candidate bundle validation in GitHub Action by following the instruction in
428
448
["Running Bundle Validation on a Release Candidate"](../packaging/bundle-validation/README.md#running-bundle-validation-on-a-release-candidate).
429
449
430
450
## Checklist to proceed to the next step
@@ -555,7 +575,7 @@ Once the release candidate has been reviewed and approved by the community, the
555
575
1. Drop all RC orgapachehudi-XXX in [Apache Nexus Staging Repositories](https://repository.apache.org/#stagingRepositories).
556
576
2. change the version from ${RELEASE_VERSION}-rc${RC_NUM} to ${RELEASE_VERSION} against release branch, use command `mvn versions:set -DnewVersion=${RELEASE_VERSION}`, e.g. change 0.5.1-rc1 to 0.5.1.
557
577
3. Commit and push the version change to release branch.
558
-
1. git commit -am "[MINOR] Update release version to reflect published version ${RELEASE_VERSION}"
578
+
1. git commit -am "chore: Update release version to reflect published version ${RELEASE_VERSION}"
559
579
2. git push origin release-${RELEASE_VERSION}
560
580
4. Repeat the steps from **_Generate Source Release (f) to Stage source releases on [dist.apache.org](http://dist.apache.org/) (i)_**. Including staging jars with the release version and uploading source release.
561
581
> **Note that make sure remove the -rc${RC_NUM} suffix when repeat the above steps. and please also verify the steps. Ensure git tag is also done without -rc${RC_NUM}**
0 commit comments