This document describe the process to release apache Hadoop Ozone. The process is not yet scripted and the documentation is work in progress
Release manager should have a gpg key setup to sign the artifacts. For more details refer below link.
Set up environment variables
Reset the git repository
Update the versions
Use below command or use IDE to replace "0.4.0-SNAPSHOT" to "0.4.0-alpha".
Commit the changes
Tag the repository
Create the release artifacts
- Run rat check
- Clean the Repo of all Rat output
- Build the Release Tarballs.
- Now that we have build the release artifacts, we will copy them to the release directory.
Calculate the checksum and sign the artifacts
Upload the artifacts to somewhere
- Upload everything from the $RELEASE_DIR to your apache home with sftp
- Create a directory called "public_html" if it does not exist.
- Create the Release Directory
- Change directory into the new release directory
- Upload the release artifacts to this release directory
- Check the results using your browser by connecting to https://home.apache.org/~<apacheName>/ozone-0.4.0-alpha-rc0/
Upload the artifacts to the apache nexus
Double check if your apache credentials are added to your local ~/.m2/settings.xml
Do a maven deploy from the ozone and hdds projects
Go the the https://repository.apache.org and close the newly created hadoop repository (select the latest one which contains the hadoop in the name)
Push the tag to github
Note: You can push the tag as is and merge it to the branch in case of a successful vote.
Send the voting mail to below mailing list
- Hadoop Common <firstname.lastname@example.org>
- Hdfs-dev <email@example.com>
- firstname.lastname@example.org <email@example.com>
- firstname.lastname@example.org <email@example.com>
Publish the artifacts
You should commit the artifacts to the SVN repository. If you are not a PMC member you can commit it to the dev zone first and ask a PMC for the final move:
Checkout the svn folder: https://dist.apache.org/repos/dist/dev/hadoop
And commit the artifacts to a new directory.
PMC members can move it to the final location:
To publish the artifacts to the central maven, login to the https://repository.apache.org, select your staging repository and Release it.
Write a haiku
Check the tag from the Ozone Road Map page (it's a national park).
Find a photo which is under the CC license.
Write a haiku to the photo with Future font.
Save it to add it to the announcement page.
Update the ozone and hadoop sites
This is documented here: How to generate and push ASF web site after HADOOP-14163
The same repository contains both the hadoop and the ozone sub-site.
- You need a new page like ozone/src/release/0.3.0-alpha.md
- You put the photo with the haiku to ozone/static/releases/
- Regenerate the site: cd ozone && hugo
- Create a shorter announcement to the hadoop site, such as src/news/2018-11-22-ozone-0.3.0-alpha.md
- Execute hugo on the root dir of the repository
- Go to the content subfolder, start a webserver (I use Caddy without a config but python -m http also works) and check the result
You also need to upload the docs folder. It should be copied from the binary artifact to content/ozone/docs/...
Please also update the content/ozone/current symbolic link
At the end: commit and push everything (including the changes under ./content)
Add the final git tag and push it
git checkout ozone-0.3.0-alpha-RC1
git tag -s ozone-0.3.0-alpha -m "HDDS-602. Ozone 0.3.0-alpha release"
git push ozone-0.3.0-alpha
Change the development version on the branch
1. Usually I push the release tags as is and merge them back to the version branch later:
git checkout ozone-0.3
git merge apache/ozone-0.3
git merge ozone-0.3.0-alpha
2. Restore the apache hadoop version and bump the ozone version:
find -name pom.xml -type f | xargs -n 1 sed -i 's/ozone-0.3.0-alpha/3.3.0-SNAPSHOT/g'
find -name pom.xml -type f | xargs -n 1 sed -i 's/0.3.0-alpha/0.3.1-SNAPSHOT/g'
3. Do a build and push the branch
Write an announcement mail to the hadoop mailing lists
Include general + user + all the dev mailing list