Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: another staging repositories link

...

Code Block
export RELEASE_VERSION=x.y.z #e.g. 0.8.4
export RC_VERSION=rc0 #define rc version if you haven't defined yet
git tag -a release-$RELEASE_VERSION-rc0$RC_VERSION -m "Tez $RELEASE_VERSION RC0$RC_VERSION"
# push the new tag 
git push origin release-$RELEASE_VERSION-rc0
$RC_VERSION 
Deploy the jars to Staging

...

Code Block
export RELEASE_VERSION=x.y.z #e.g. 0.8.4
mvn clean
git clean -f -x -d
cd ..
cp -R tez-git-$RELEASE_VERSION apache-tez-$RELEASE_VERSION-src #where tez-git-$RELEASE_VERSION is the tez code directory
COPYFILE_DISABLE=1 tar --exclude=.git -zcvf apache-tez-$RELEASE_VERSION-src.tar.gz
# handle TEZ-4533 temporarily
rm ./tez-runtime-library/src/test/resources/TestIFile_concatenated_compressed.bin
sed -i "" 's/public void testConcatenatedZlibPadding/@org.junit.Ignore public void testConcatenatedZlibPadding/g' ./tez-runtime-library/src/test/java/org/apache/tez/runtime/library/common/sort/impl/TestIFile.java


cd .. # assuming that you're standing in a tez git folder, 
cp -R tez-git-$RELEASE_VERSION apache-tez-$RELEASE_VERSION-src
Sign the Release
 #where tez-git-$RELEASE_VERSION is the tez code directory
COPYFILE_DISABLE=1 tar --exclude=.git -zcvf apache-tez-$RELEASE_VERSION-src.tar.gz apache-tez-$RELEASE_VERSION-src
Sign the Release
Code Block
gpg2  --
Code Block
gpg2  --armor --output apache-tez-$RELEASE_VERSION-src.tar.gz.asc --detach-sig apache-tez-$RELEASE_VERSION-src.tar.gz

...

Code Block
shasum -a 512 apache-tez-$RELEASE_VERSION-src.tar.gz > apache-tez-$RELEASE_VERSION-src.tar.gz.sha512

or

Code Block
openssl md5  apache-tez-$RELEASE_VERSION-src.tar.gz > apache-tez-$RELEASE_VERSION-src.tar.gz.md5
openssl dgst -sha512 apache-tez-$RELEASE_VERSION-src.tar.gz > apache-tez-$RELEASE_VERSION-src.tar.gz.sha512
Create Binary Tarball as a helper for Users

Create a final binary tarball using the minimal and full tarballs: 

Create Binary Tarball as a helper for Users

Create a final binary tarball using the minimal and full tarballs: 

  • Create a top-level directory called apache-tez-{x.y.z}-bin
  • Untar the contents of the minimal tarball into this directory.
  • Copy the full tarball into the directory under apache-tez-{x.y.z}-bin/share/ and name the file tez.tar.gz 
  • Copy the minimal tarball into the directory under apache-tez-{x.y.z}-bin/share/ and name the file tez-minimal.tar.gz 
  • Copy the LICENSE* files and NOTICE file from the full tarball and replace the files under apacheCreate a top-level directory called apache-tez-{x.y.z}-binUntar the contents of the / which came from the minimal tarball into this directory. Copy the full tarball into the directory under apache
  • If the version is higher than 0.8.x, use the mvn javadoc command to generate the xml-based config documentation and copy the files under apache-tez-{x.y.z}-bin/share/ and name the file tez.tar.gz 
  • Copy the minimal tarball into the directory under apache-tez-{x.y.z}-bin/share/ and name the file tez-minimal.tar.gz 
  • Copy the LICENSE* files and NOTICE file from the full tarball and replace the files under apache-tez-{x.y.z}-bin/ which came from the minimal tarball. 
  • If the version is higher than 0.8.x, use the mvn javadoc command to generate the xml-based config documentation and copy the files under apache-tez-{x.y.z}-bin/conf/ with a .template suffix.
  • Tar the top-level directory and do the necessary signing as well as the checksum creation as done for the src tarball. 
  • conf/ with a .template suffix.
  • Tar the top-level directory and do the necessary signing as well as the checksum creation as done for the src tarball. 
Code Block
#Define the following environment variables
export TEZ_SRC_DIR=/home/user/tez #e.g. tez-src or the absolute path
export RELEASE_VERSION=x.y.z #e.g. 0.8.4
 
cd ${TEZ_SRC_DIR};
mvn clean install -DskipTests
mvn site
cd ..


mkdir
Code Block
#Define the following environment variables
export TEZ_SRC_DIR=/home/user/tez #e.g. tez-src or the absolute path
export RELEASE_VERSION=x.y.z #e.g. 0.8.4
 
cd ${TEZ_SRC_DIR};
mvn clean install -DskipTests
mvn site
cd ..


mkdir apache-tez-${RELEASE_VERSION}-bin
tar -C apache-tez-${RELEASE_VERSION}-bin -zxvf ${TEZ_SRC_DIR}/tez-dist/target/tez-${RELEASE_VERSION}-minimal.tar.gz
mkdir tmp-tez-full
tar -C tmp-tez-full -zxvf ${TEZ_SRC_DIR}/tez-dist/target/tez-${RELEASE_VERSION}.tar.gz
cp tmp-tez-full/LICENSE* apache-tez-${RELEASE_VERSION}-bin/
cp tmp-tez-full/NOTICE* apache-tez-${RELEASE_VERSION}-bin/
rmtar -rf tmp-tez-full


mkdir C apache-tez-${RELEASE_VERSION}-bin/conf
# copy over tez templates into conf dir.
cp -zxvf ${TEZ_SRC_DIR}/tez-apidist/target/site/apidocs/configs/tez-default-template.xml apache-tez-${RELEASE_VERSION}-bin/conf/
cpminimal.tar.gz
mkdir tmp-tez-full
tar -C tmp-tez-full -zxvf ${TEZ_SRC_DIR}/tez-runtime-librarydist/target/site/apidocs/configs/tez-runtime-default-template.xmltez-${RELEASE_VERSION}.tar.gz
cp tmp-tez-full/LICENSE* apache-tez-${RELEASE_VERSION}-bin/conf/


# TODO: If TEZ-3322 is not fixed, modify the config files under cp tmp-tez-full/NOTICE* apache-tez-${RELEASE_VERSION}-bin/conf/ and add the Apache header, see example below
rm -rf tmp-tez-full


mkdir apache-tez-${RELEASE_VERSION}-bin/shareconf
# copy over tez templates into conf dir.
cp ${TEZ_SRC_DIR}/tez-distapi/target/tez-${RELEASE_VERSION}.tar.gz apache-tez-${RELEASE_VERSION}-bin/share/tez.tar.gz
COPYFILE_DISABLE=1 tar --exclude=.git -zcvfsite/apidocs/configs/tez-default-template.xml apache-tez-${RELEASE_VERSION}-bin.tar.gz/conf/
cp ${TEZ_SRC_DIR}/tez-runtime-library/target/site/apidocs/configs/tez-runtime-default-template.xml apache-tez-${RELEASE_VERSION}-bin/conf/


# SignTODO: releaseIf andTEZ-3322 create checksums using commands similar to those called out earlier foris not fixed, modify the sourceconfig tarball
gpg2  --armor --outputfiles under apache-tez-${RELEASE_VERSION}-bin.tar.gz.asc --detach-sig/conf/ and add the Apache header, see example below


mkdir apache-tez-${RELEASE_VERSION}-bin.tar.gz
openssl md5 apache-/share
cp ${TEZ_SRC_DIR}/tez-dist/target/tez-${RELEASE_VERSION}-bin.tar.gz > apache-tez-${RELEASE_VERSION}-bin/share/tez.tar.gz.md5
openssl dgst -sha512
COPYFILE_DISABLE=1 tar --exclude=.git -zcvf apache-tez-${RELEASE_VERSION}-bin.tar.gz > apache-tez-${RELEASE_VERSION}-bin.tar.gz.sha512

# RemoveSign unnecessaryrelease textand fromcreate checksum files
# (thechecksums using commands belowsimilar areto supposedthose tocalled workout withearlier GNU sed)
sed -i"" s/"^.*= "// apache-tez-${RELEASE_VERSION}-bin.tar.gz.md5
sed -i"" s/"^.*= "// for the source tarball
gpg2  --armor --output apache-tez-${RELEASE_VERSION}-bin.tar.gz.sha512
sed -i"" s/"^.*= "//asc --detach-sig apache-tez-${RELEASE_VERSION}-srcbin.tar.gz.md5
sedshasum -i"" s/"^.*= "//a 512 apache-tez-$RELEASE_VERSION-src.tar.gz > apache-tez-${RELEASE$RELEASE_VERSION}-src.tar.gz.sha512


#Verify integrity of checksum files
 

...

Code Block
svn co https://dist.apache.org/repos/dist/dev/tez/ tez_svn # assuming that you want to store svn files in a folder named "svn" for clarity's sake

# copy contents to "tez_svn" directory, which is the svn working dir
export RC_VERSION=rc0 #define rc version if you haven't defined yet
mkdir tez_svn/apache-tez-${RELEASE_VERSION}-${RC_VERSION}
cp apache-tez-${RELEASE_VERSION}-bin.tar.gzhaven't defined yet
mkdir tez_svn/apache-tez-${RELEASE_VERSION}-${RC_VERSION}/
cp apache-tez-${RELEASE_VERSION}-bin.tar.gz.asc tez_svn/apache-tez-${RELEASE_VERSION}-${RC_VERSION}/
cp apache-tez-${RELEASE_VERSION}-bin.tar.gz.md5asc tez_svn/apache-tez-${RELEASE_VERSION}-${RC_VERSION}/
cp apache-tez-${RELEASE_VERSION}-bin.tar.gz.sha512 tez_svn/apache-tez-${RELEASE_VERSION}-${RC_VERSION}/
cp apache-tez-${RELEASE_VERSION}-src.tar.gz tez_svn/apache-tez-${RELEASE_VERSION}-${RC_VERSION}/
cp apache-tez-${RELEASE_VERSION}-src.tar.gz.asc tez_svn/apache-tez-${RELEASE_VERSION}-${RC_VERSION}/
cp apache-tez-${RELEASE_VERSION}-src.tar.gz.md5 tez_svn/apache-tez-${RELEASE_VERSION}-${RC_VERSION}/
cp apache-tez-${RELEASE_VERSION}-src.tar.gz.sha512 tez_svn/apache-tez-${RELEASE_VERSION}-${RC_VERSION}/

# check contents of "tez_svn" for actual release, you should see something like:
ls tez_svn/apache-tez-${RELEASE_VERSION}-${RC_VERSION}/


apache-tez-x.y.z-bin.tar.gz         apache-tez-x.y.z-src.tar.gz       
apache-tez-x.y.z-bin.tar.gz.asc     apache-tez-x.y.z-bin.tar.gz.sha512  apache-tez-x.y.z-src.tar.gz.asc     apache-tez-x.y.z-src.tar.gz.sha512

svn add tez_svn/apache-tez-${RELEASE_VERSION}-${RC_VERSION}/
# if this is the first time you commit to svn, you might want to define an editor for commit messages, like: export SVN_EDITOR=vi
svn ci tez_svn/apache-tez-${RELEASE_VERSION}-${RC_VERSION}/ #specify your ASF username with --username=$USER_NAME if it's not the same as your current user

...

Log on to https://repository.apache.org and look at the Staging Repositories. "Release" the tez repository previously sent out in the vote thread, so that it is available for general consumption.

...