Create release branch
From 0.6.0 release
0.5.x release
Bump up version, create tag and upload maven artifact to staging repo
It is recommended to fork git repository while one of the command may fail and you want to retry without making unnecessary commits.
# if it is minor release, create new branch named branch-x.x $ git branch -b branch-0.6 master # if it is maintenance release, checkout minor number branch $ git checkout branch-0.6 # bump up document version # 1. open docs/_config.yml # 2. edit ZEPPELIN_VERSION, BASE_PATH to be 0.6.0, /docs/0.6.0 each # 3. commit to branch-0.6 # Prepare release $ mvn versions:set -DnewVersion=0.6.0 -DgenerateBackupPoms=false $ git commit -a -m "Preparing Apache Zeppelin release 0.6.0" $ git tag v0.6.0-rc1 # Prepare next development version $ mvn versions:set -DnewVersion=0.6.1-SNAPSHOT -DgenerateBackupPoms=false $ git commit -a -m "Preparing development version 0.6.1-SNAPSHOT" # Push changes $ git push origin v0.6.0-rc1 $ git push origin HEAD:branch-0.6
Document Version
In docs/_config.yml ZEPPELIN_VERSION and BASE_PATH need to be updated for next development version.
Create release Candidate
Create source and binary package
Clone tagged version into the machine that'll create package.
'create_release.sh' script will create source and binary package for the release candidate under '/tmp/zeppelin-release' directory
$ GPG_PASSPHRASE=[your gpg passphrase] dev/create_release.sh [Release version] [Tag name]
For example
$ GPG_PASSPHRASE=[your gpg passphrase] dev/create_release.sh 0.6.0 v0.6.0
will create source and binary package for release '0.6.0' based on tag 'v0.6.0'
Upload release candidate
Created release candidate needs to be uploaded into svn repository
https://dist.apache.org/repos/dist/dev/zeppelin/[Release version]-[RC number]
for example, for 0.6.0 release candidate 1, contents of '/tmp/zeppelin-release' directory need to be uploaded into
https://dist.apache.org/repos/dist/dev/zeppelin/0.6.0-rc1
Deploy maven artifact
$ GPG_PASSPHRASE=[your gpg passphrase] ASF_USERID=[your asf user id] ASF_PASSWORD=[your asf password] dev/create_release.sh [Release version] [Tag name]
For example
$ GPG_PASSPHRASE=[your gpg passphrase] ASF_USERID=[your asf user id] ASF_PASSWORD=[your asf password] dev/create_release.sh 0.6.0 v0.6.0
Start a vote in dev@list
Once release candidate is ready, start a vote thread in dev@ list. For example
[VOTE] Release Apache Zeppelin 0.6.0 (RC1) Hi folks, I propose the following RC to be released for the Apache Zeppelin 0.6.0 release. The commit id is 72e38d0b3c3ba8b08ba1176c2eb2c38661a54d31 : https://git-wip-us.apache.org/repos/asf?p=zeppelin.git;a=commit;h=72e38d0b3c3ba8b08ba1176c2eb2c38661a54d31 This corresponds to the tag: v0.6.0-rc1 : https://git-wip-us.apache.org/repos/asf?p=zeppelin.git;a=tag;h=refs/tags/v0.6.0-rc1 The release archives (tgz), signature, and checksums are here https://dist.apache.org/repos/dist/dev/zeppelin/zeppelin-0.6.0-rc1/ The release candidate consists of the following source distribution archive zeppelin-0.6.0.tgz In addition, the following supplementary binary distributions are provided for user convenience at the same location zeppelin-0.6.0-bin-all.tgz The maven artifacts are here https://repository.apache.org/content/repositories/orgapachezeppelin-1001/org/apache/zeppelin/ You can find the KEYS file here: https://dist.apache.org/repos/dist/release/zeppelin/KEYS Release notes available at https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12316221&version=12333531 Vote will be open for next 72 hours (close at 7am 8/Nov PDT). [ ] +1 approve [ ] 0 no opinion [ ] -1 disapprove (and reason why)
Once vote is passed, post result into the dev@list. For example
[RESULT] [VOTE] Release Apache Zeppelin 0.6.0 (RC1) The vote passes with 7 binding +1 votes, 9 non-binding +1 votes, and no +0 or -1 votes. Thanks for everyone who verified rc and voted. +1: DuyHai Doan Anthony Corbacho* Khalid Huseynov Jeff Steinmetz Victor Manuel Garcia Felix Cheung Jonathan Kelly Corneu Damien* Alexander Bezzubov* Madhuka Udantha Jian Zhong Guillaume Alleon Henry Saputra* Jongyoul Lee* Mina Lee* Moon soo Lee* +0: -1: *binding Vote thread: http://mail-archives.apache.org/mod_mbox/zeppelin-dev/201511.mbox/%3CCALf24sboheQdok1BRX1p5pT-mwY6waOfs490xiPAhT-QNCCAHg%40mail.gmail.com%3E
Publish the release
Create tag for release and clean up tags for rc
Create tag with name 'rc' and remove all 'rc' tags.
Move release package from dev to release
for example
$ svn mv https://dist.apache.org/repos/dist/dev/zeppelin/0.6.0-rc1 https://dist.apache.org/repos/dist/release/zeppelin/0.6.0
Remove old release
Old release should be removed from dist.apache.org. Old releases are automatically archived (http://www.apache.org/dev/release.html#when-to-archive)
Release maven artifacts
Release staging repo from https://repository.apache.org/
Close JIRA issue version
'Release' released version from JIRA
Update download page
Update download page with new releases information.
Note that link to previous release should be updated while old releases will be moved from dist.apache.org -> archive.apache.org
Publish documents
Create document from released tag and publish it.
Create document from next development version and publish it as snapshot version.
Also make sure that "latest" document is pointing "new version" in .htaccess file in gh-pages branch.
# Build release version document $ git clone https://github.com/apache/zeppelin.git $ cd zeppelin $ git checkout v0.6.0 $ cd docs $ bundle exec jekyll build --safe # checkout ASF repo and copy release document to it $ svn co https://svn.apache.org/repos/asf/zeppelin asf-zeppelin $ cp -R _site asf-zeppelin/site/docs/0.6.0 # Build develop version document $ git checkout master $ bundle exec jekyll build --safe # copy develop version document to ASF repo $ cp -R _site asf-zeppelin/site/docs/0.7.0-SNAPSHOT # go to Zeppelin directory and clone gh-pages $ cd .. $ git clone -b gh-pages https://github.com/apache/zeppelin.git gh-pages $ cd gh-pages $ bundle exec jekyll build --safe # copy main page to ASF repo $ cp -R _site ../docs/asf-zeppelin/site # add and delete directories to svn repo $ cd ../docs/asf-zeppelin/site/docs $ svn delete 0.6.0-SNAPSHOT $ svn add 0.6.0 $ svn add 0.7.0-SNAPSHOT $ svn commit -m "Publish document 0.6.0 and 0.7.0-SNAPSHOT"
Announce the release
New release can be announced to some mailing lists such as
- announce at apache.org
- users at zeppelin.apache.org
- dev at zeppelin.apache.org
Here's an example of an announce.
Please also include a short description of what Apache Zeppelin is or does as the first paragraph i.e
Zeppelin is a collaborative data analytics and visualization tool for distributed, general-purpose data processing systems such as Apache Spark, Apache Flink, etc.