Generating patches
Releasing new version of Apache Giraph may take 2 weeks or more. Please, plan accordingly.
Follow these steps to release new version of Apache Giraph.
- Check out the Giraph source from the git repository.
- Make a release branch git checkout -b release-1.2; git push origin release-1.2
- Once you have a release branch, setup continuous integration in Jenkins. See for example a setup for Giraph 1.2 release
- Fix test cases and build errors until you have a clean build for both hadoop_1 and hadoop_2 profiles
- Check JIRA tickets associated with this release and make sure you don't have any open
- When you have everything ready for the release, create a tag git tag -a rel/1.2.0-RC1 -m "Preparing release 1.2.0"
- Do the license check: mvn apache-rat:check -Phadoop_1 and make sure you don't have any issues grep '!?????' target/rat.txt
- When all of above are clean, you can do the build: mvn clean install -Phadoop_1 -Prelease
If this command fails generating signatures check this page for more information
- You can now get the prepared binaries, source files and signatures in giraph-dist/target/
- To generate remaining md5 and sha1 hashes, wou can use the following set of commands:
md5 -r * |grep -v asc | while read k f; do
echo $k > "$f.md5"
done
shasum * |grep -v asc |grep -v md5 | while read k f; do
echo $k > "$f.sha1"
done
- Now you need to build release for hadoop_2. First, change version in all pom.xml files:
mvn versions:set -DnewVersion=1.2.0-hadoop2
grep -R 'version.*1.2.0' . | grep pom.xml | grep -v hadoop2
Make sure the output of the second command is empty. Modify missed pom.xml manually otherwise.
- Repeat steps for hadoop_2 profile:
mvn apache-rat:check -Phadoop_2
grep '!?????' target/rat.txt
mvn clean install -Phadoop_2
Get release files from ~/.m2/repository/org/apache/giraph/giraph-dist/1.2.0-hadoop2 and sign them.
- Finally make files available in dist SVN:
svn checkout https://dist.apache.org/repos/dist/dev/giraph/, and
svn checkout https://dist.apache.org/repos/dist/release/giraph/
Make sure that the content there looks ok (try to build and run Giraph just from those tarballs).
-
Configure your .m2/settings.xml as described here. And deploy released artifacts to the maven repository:
mvn -Prelease -Phadoop_1 deploy
mvn -Prelease -Phadoop_2 deploy