...
Note |
---|
If you are uncomfortable placing your password in clear text in the settings.xml file, you can use http://maven.apache.org/guides/mini/guide-encryption.html. This seems to work fine, at least with maven 3.6.2 (might work with earlier releases as well) |
...
Prepare a Release Candidate
Before we move on to the voting, we need to prepare the release along with the below information:
...
After following the steps below, you should have all information listed above.
Prepare the release candidate
Warning |
---|
|
...
Once the voting passes, it is now officially approved by Apache and we just need to do some final steps.
Recall a Release Candidate
There could be some issues unveiled during testing and voting phase. If it happens, we need to recall the release candidate and apply patches/changes then redo from step: Prepare the Release Candidate and increase <rc_num> by 1.
There are several things to clean up:
- Delete git repo release draft: https://github.com/apache/incubator-pinot/releases
- Delete the maven artifacts. Log in to Nexus, select the staging repository (orgapachepinot-<number>) and click Drop button.
Clean up tarballs from dev dist
Code Block language bash $ svn rm https://dist.apache.org/repos/dist/dev/incubator/pinot/apache-pinot-incubating-<version>-rc<rc_num> # NOTE: You will need your apache login and password for this step.
Finalize a Release
Move staging tarballs to the svn directory for official release
Code Block language bash $ svn mv https://dist.apache.org/repos/dist/dev/incubator/pinot/apache-pinot-incubating-<version>-rc<rc_num> https://dist.apache.org/repos/dist/release/incubator/pinot/apache-pinot-incubating-<version> # NOTE: You will need your apache login and password for this step.
Check https://downloads.apache.org/incubator/pinot
After several hours later, check http://www.apache.org/dyn/closer.cgi/incubator/pinot/apache-pinot-incubating-<version> to see if it shows up.
(e.g. http://www.apache.org/dyn/closer.cgi/incubator/pinot/apache-pinot-incubating-0.3.0)Delete release branch from github repo if any
Code Block language bash $ git push origin --delete release-0.3.0
Update git tag for official release
Code Block language bash $ git checkout tags/release-<version>-rc<rc_num> $ git tag release-<version> -m "Apache Pinot (Incubating) <version>" $ git push origin release-<version>
Update Release note for the official release on Github https://github.com/apache/incubator-pinot/releases
No need to draft a new release, just EDIT the previously drafted release
Replace tag name to release-<version> tag
Uncheck the pre-release checkbox, then publish
- Delete all other rc drafts if there is any.
Delete all RC tags from github repo
Code Block language bash # Clean up the rc tag to not to show on the Github release page $ git tag -d release-<version>-rc<rc_num> $ git push origin :refs/tags/release-<version>-rc<rc_num>
- Publish the maven artifacts. Log in to Nexus, select the staging repository (orgapachepinot-<number>) and click Release button. Several hours later, the new version should show up at https://repo.maven.apache.org/maven2/org/apache/pinot
...