Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

 


Create release branch

From 0.6.0 release

...

Each 0.5.x release has it's own release branch 'branch-0.5.x'. The branch cuts 'master' branch on creation.

Bump up version

...

and create tag

...

There are several places you need to bump up version before creating tag:

You can bump After bumping up the version , and create tag from release branch by doing below.running `tag_release.sh` script as below:

Code Block
languagebash
# 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.6CURRENT_VERSION=[current ver.] RELEASE_VERSION=[release ver.] NEXT_DEV_VERSION=[next dev ver.] RC_TAG=[rc tag] GIT_BRANCH=[branch to create tag] dev/tag_release.sh

For example

Code Block
languagebash
$ CURRENT_VERSION="0.7.1-SNAPSHOT" RELEASE_VERSION="0.7.1" NEXT_DEV_VERSION="0.7.2-SNAPSHOT" RC_TAG="v0.7.1-rc1" GIT_BRANCH="branch-0.7" dev/tag_release.sh

will bump up the version of all files mentioned above and create tag for 0.7.1 first release candidate.

Create release Candidate

Create source and binary package

...

https://dist.apache.org/repos/dist/dev/zeppelin/zeppelin-[Release version]-[RC number]

...

https://dist.apache.org/repos/dist/dev/zeppelin/zeppelin-0.6.0-rc1

Refer the link here. https://stackoverflow.com/questions/15510119/how-to-add-an-existing-folder-with-files-to-svn/15511432

Deploy maven artifact to staging repository

...

Code Block
languagebash
$ GPG_PASSPHRASE=[your gpg passphrase] ASF_USERID=[your asf user id] ASF_PASSWORD=[your asf password] dev/publish_release.sh 0.6.0 v0.6.0-rc1

...


Start a vote in dev@list

Once release candidate is ready, start a vote thread in dev@ list. For example

No Format
[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

No Format
[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

...

Move release package from dev to release

...

Code Block
languagebash
$ svn mv https://dist.apache.org/repos/dist/dev/zeppelin/zeppelin-0.6.0-rc1 https://dist.apache.org/repos/dist/release/zeppelin/zeppelin-0.6.0 -m 'Move 0.6.0 to release folder'

Create tag for release and clean up tags for rc

Create tag without name 'rc' and remove all 'rc' tags. Make sure that release version archived under http://archive.apache.org/dist/zeppelin/ before creating tag so that docker build succeed without error.

Code Block
languagebash
git tag v0.9.0-preview1 v0.9.0-preview1-rc1
git push apache v0.9.0-preview1
git push apache :v0.9.0-preview1-rc1


Remove old release

Old release should be removed from dist.apache.org. Old releases are automatically archived (See http://www.apache.org/dev/release.html#when-to-archive for more details.)

...

'Release' released version from JIRA

Update download page

Update download page in download.html with new releases information including release note.

Note that link to previous release should be updated while old releases will be moved from dist.apache.org -> archive.apache.orghttps://issues.apache.org/jira/projects/ZEPPELIN?selectedItem=com.atlassian.jira.jira-projects-plugin%3Arelease-page&status=unreleased

Publish documents

  • Create and publish document for released version.
  • Create and publish document for next development version.
  • Update latest version redirect rule: Update latest doc page to point new release version in .htacess .
  • DOAP file: Add new entry of the release in doap.rdf.

Here is example to publish documents to svn repo

Code Block
languagebash
# Make sure you are using python 2.7
# Build release version document
$ git clone https://github.com/apache/zeppelin.git
$ cd zeppelin
$ git checkout v0.6.0
$ cd docs
# Update file _config.yml (ASSET_PATH & ZEPPELIN_VERSION & BASE_PATH)
$ 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
 
# Do the same for snapshot version if you are releasing a new major version, e.g. 0.9.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
# Update file download.md, doap.rdf, documentation.md, supported_interpreters.md, _navigation.html
$ JEKYLL_ENV=production 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"


Check release status

Before announcing the release, you need to check the apache release status page to confirm there's no problem in the release process. https://checker.apache.org/projs/zeppelin.html

Announce the release

New release can be announced to some mailing lists such as

...

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.

 

...