for this first alpha release we haven't evaluated deployment options yet, so let's just rely on maven for convenience binaries.
Rough outline of process:
- review LICENSE / NOTICE files
- Make sure rat says our files are fine wrt license headers (mvn apache-rat:check)
- Check git vs jira for a correct list of issues included in the release
- use Apache Yetus Release Doc Maker to generate release notes / changes and check into repo
- update versions to be non-SNAPSHOT
- make sure we can still build jars
- tag RC (git tag -s 1.0.0-alpha1-RC0 -m "HBASE-XXXX Tagging the 1.0.0-alpha1 first Releae Candidate" && git push origin 1.0.0-alpha1-RC0)
- use the git archive command to create a source artifact (git archive --format=tar.gz --output="/tmp/hbase-filesystem-1.0.0-alpha1-RC0/hbase-filesystem-1.0.0-alpha1-src.tar.gz" --prefix="hbase-filesystem-1.0.0-alpha1/" 1.0.0-alpha1-RC0)
- stage the RC artifacts somewhere accessible by https. Should include release notes, changes, and source artifact. each of those should have a gpg signature and a sha512 checksum file.
- stage maven repository (tl;dr: mvn deploy -DskipTests -Papache-release and then https://repository.apache.org. See the longer explanation under the steps "Deploy to the Maven Repository" and "Make the Release Candidate available" in the Making a Release Candidate ref guide section for the main project)
- call VOTE for release candidate. Include the staged artifacts, staged maven repository, any critical issues that need summary
- iterate on RCs if needed due to VOTE feedback
- When VOTE passes, tag rel/1.0.0-alpha1, release maven repository, publish artifacts on dist.apache.org, send ANNOUNCE email, and prepare repo for further development