...
After following 1-3, you should have the following (after at most 24 hours delay. Certificates are synced from public domain once a day):
- Your public key is listed in https://dist.apache.org/repos/dist/release/incubator/pinot/KEYS
- Your public key is viewable at https://people.apache.org/keys/committer/<apache_ldap_id>.asc (e.g. https://people.apache.org/keys/committer/snlee.asc)
- Your public key is viewable at https://people.apache.org/keys/group/pinot.asc
...
Prepare a release branch
Code Block language bash $ git checkout -b release-<version>-rc<rc_num> $ git push origin release-<version>-rc<rc_num> # Example $ git checkout -b release-0.1.0-rc0 $ git push origin release-0.1.0-rc0
Prepare the release (Please refer "Preparing a release" section in http://plc4x.apache.org/developers/release.html to see what actually happens with the command below - has a good explanation along with screenshots, our gitbox url for checking is https://gitbox.apache.org/repos/asf?p=incubator-pinot.git) . Before entering this command, make sure that you have permissions to push to the remote git branch without entering password or passphrase. This command invokes git push at the end, and will fail if you don't have permissions to push to the remote tree.
Code Block language bash $ mvn release:prepare
- Prepare the release note. Step 2 will generate the new tag and it will automatically show up on https://github.com/apache/incubator-pinot/releases
- Click "Draft a new release" button, put "tag version" as the one you used from the previous step (e.g. release-0.1.0-rc0).
- Fill in the release note and publish the release. NOTE: you need to check "This is a pre-release" box in order not to violate Apache terms.
Perform the release (publishing artifacts to "staging repository")
Code Block language bash $ mvn release:perform
After run this, log in to Nexus (https://repository.apache.org) and select Stating Repositories and find the repository with the name "orgapachepinot-{number}". Select that and click the "Close" button. This will trigger to Nexus to do some checks on artifacts (checksum, signatures..etc). Check https://repository.apache.org/content/repositories/orgapachepinot-{number} shows correctly.
Create a source/binary tarballs & Staging source and binary release tarballs
Code Block language bash $ cd <pinot_source_code_root_path># Check out the release candidate tag$ git checkout tags/release-<version>-rc<rc_num># Check git hash for the official release $ git log# Create the package $ mvn install -DskipTests -Papache-release,bin-dist $ cd pinot-distribution/target $ ls ... -rw-r--r-- 1 snlee eng 115915316 Mar 21 14:25 apache-pinot-incubating-0.1.0-bin.tar.gz -rw-r--r-- 1 snlee eng 490 Mar 21 14:25 apache-pinot-incubating-0.1.0-bin.tar.gz.asc -rw-r--r-- 1 snlee eng 128 Mar 21 14:26 apache-pinot-incubating-0.1.0-bin.tar.gz.sha512 -rw-r--r-- 1 snlee eng 37404419 Mar 21 14:25 apache-pinot-incubating-0.1.0-src.tar.gz -rw-r--r-- 1 snlee eng 490 Mar 21 14:25 apache-pinot-incubating-0.1.0-src.tar.gz.asc -rw-r--r-- 1 snlee eng 128 Mar 21 14:26 apache-pinot-incubating-0.1.0-src.tar.gz.sha512 ... # Copy files to the pinot-dev-dist $ mkdir /path/to/pinot-dev-dist/apache-pinot-incubating-<version>-rc<rc_num> $ cp apache-pinot-incubating-0.1.0-SNAPSHOT-*.tar.gz* /pat/to/pinot-dev-dist/apache-pinot-incubating-<version>-rc<rc_num> # Commit the files to staging svn repository $ cd /path/to/pinot-dev-dist $ svn add apache-pinot-incubating-<version>-rc<rc_num> $ svn commit -m "Update apache-pinot-incubating-<version>-rc<rc_num>"
After the above step, check https://dist.apache.org/repos/dist/dev/incubator/pinot/ to see if the files are uploaded correctly. requires -src/bin.tar.gz, tar.gz.asc, tar.gz.sha512 files.
...