...
It is recommended to fork git repository while one of the command may fail and you want to retry without making unnecessary commits.
Code Block | ||
---|---|---|
| ||
mvn -DperformRelease=true release:clean mvn -DperformRelease=true release:prepare -Darguments="-DskipTests -Dgpg.passphrase=..." -Dtag=v0.6.0 -DreleaseVersion=0.6.0-incubating -DdevelopmentVersion=0.6.1-incubating-SNAPSHOT -DpushChanges=false mvn -DperformRelease=true release:perform -Darguments="-DskipTests -Dgpg.passphrase=..." -Dtag=v0.6.0 -DreleaseVersion=0.6.0-incubating -DdevelopmentVersion# 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-incubating-SNAPSHOT -DpushChangesDgenerateBackupPoms=false $ -DconnectionUrl=scm:git:https://github.com/[your forked repo]/incubator-zeppelin.git |
Once it's done without problem, you'll need to go https://repository.apache.org/ and close staging repository.
And then you can push the changes from your forked git repo to Apache's git repo.
BASE_PATH
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 in docs/_config.yml BASE_PATH need be updated for next development version.
...
'create_release.sh' script will create source and binary package for the release candidate under '/tmp/incubator-zeppelin-release' directory
Code Block | ||
---|---|---|
| ||
$ GPG_PASSPHRASE=[your gpg passphrase] dev/create_release.sh [Release nameversion] [Tag name] |
For example
Code Block | ||
---|---|---|
| ||
$ GPG_PASSPHRASE=[your gpg passphrase] dev/create_release.sh 0.6.0-incubating v0.6.0 |
will create source and binary package for release '0.6.0-incubating' based on tag 'v0.6.0'
Upload release candidate
Created release candidate need needs to be uploaded into svn repository
https://dist.apache.org/repos/dist/dev/incubator/zeppelin/[Release nameversion]-[RC number]
for example, for 0.6.0 -incubating release candidate 1, contents of '/tmp/incubator-zeppelin-release' directory need to be uploaded into
https://dist.apache.org/repos/dist/dev/incubator/zeppelin/0.6.0-incubating-rc1rc1
Deploy maven artifact
Code Block | ||
---|---|---|
| ||
$ 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
Code Block | ||
---|---|---|
| ||
$ 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
...
No Format |
---|
[VOTE] Release Apache Zeppelin (incubating) 0.6.0-incubating (RC1) Hi folks, I propose the following RC to be released for the Apache Zeppelin (incubating) 0.6.0-incubating release. The commit id is 72e38d0b3c3ba8b08ba1176c2eb2c38661a54d31 : https://git-wip-us.apache.org/repos/asf?p=incubator-zeppelin.git;a=commit;h=72e38d0b3c3ba8b08ba1176c2eb2c38661a54d31 This corresponds to the tag: v0.6.0-rc1 : https://git-wip-us.apache.org/repos/asf?p=incubator-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/incubatorzeppelin/zeppelin/-0.6.0-incubating-rc1/ The release candidate consists of the following source distribution archive zeppelin-0.6.0-incubating.tgz In addition, the following supplementary binary distributions are provided for user convenience at the same location zeppelin-0.6.0-incubating-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/incubator/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) |
...
No Format |
---|
[RESULT] [VOTE] Release Apache Zeppelin (incubating) 0.6.0-incubating (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/incubator-zeppelin-dev/201511.mbox/%3CCALf24sboheQdok1BRX1p5pT-mwY6waOfs490xiPAhT-QNCCAHg%40mail.gmail.com%3E |
Start a vote in general@list
After vote passed in dev@list, start a vote in general@list. For example
No Format |
---|
[VOTE] Release Apache Zeppelin (incubating) 0.6.0-incubating (RC1)
Hi forks,
Apache Zeppelin community has voted on following RC to be releaseed
as official Apache Zeppelin (incubating) 0.6.0-incubating release.
Vote on dev list:
http://mail-archives.apache.org/mod_mbox/incubator-zeppelin-dev/201511.mbox/%3CCALf24sboheQdok1BRX1p5pT-mwY6waOfs490xiPAhT-QNCCAHg%40mail.gmail.com%3E
Result of vote on dev list:
http://mail-archives.apache.org/mod_mbox/incubator-zeppelin-dev/201511.mbox/%3CCALf24sZAbn0ZVtT_SSdDSpj7vSrCjpd0izq_g_ex9MJF2VALUw%40mail.gmail.com%3E
The commit id is e4743e71d2421f5b6950f9e0f346f07bb84f1671 :
https://git-wip-us.apache.org/repos/asf?p=incubator-zeppelin.git;a=commit;h=e4743e71d2421f5b6950f9e0f346f07bb84f1671
This corresponds to the tag: v0.6.0 :
https://git-wip-us.apache.org/repos/asf?p=incubator-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/incubator/zeppelin/0.6.0-incubating-rc1/
The release candidate consists of the following source distribution archive
zeppelin-0.5.5-incubating.tgz
In addition, the following supplementary binary distributions are provided
for user convenience at the same location
zeppelin-0.5.5-incubating-bin-all.tgz
The maven artifacts are here
https://repository.apache.org/content/repositories/orgapachezeppelin-1003
You can find the KEYS file here:
https://dist.apache.org/repos/dist/release/incubator/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 5am 17/Nov PDT).
[ ] +1 approve
[ ] 0 no opinion
[ ] -1 disapprove (and reason why)
Best regards, |
Once vote is passed, post result into general@list. For example
No Format |
---|
[RESULT] [VOTE] Release Apache Zeppelin (incubating) 0.6.0-incubating (RC1)
Vote to release Apache Zeppelin 0.6.0-incubating (RC1) passed with the
following results:
3 binding "+1" votes, no "0" or "-1" votes.
IPMC binding votes were provided by:
Steve Loughran
Justin Mclean
Henry Saputra
Here's vote thread:
http://mail-archives.apache.org/mod_mbox/incubator-general/201511.mbox/%3CCALf24sZin774uuZ+ftOLV4pBf8egWyJRAMK3fscyh_kcQXZaig@mail.gmail.com%3E
Thanks to all who voted and took time to look over the release!
|
Publish the release
Create tag for release and clean up tags for rc
...
for example
Code Block | ||
---|---|---|
| ||
$ svn mv https://dist.apache.org/repos/dist/dev/incubator/zeppelin/0.6.0-incubating-rc1 https://dist.apache.org/repos/dist/release/incubator/zeppelin/0.6.0-incubating |
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)
...
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.
Code Block | ||
---|---|---|
| ||
# 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 $ 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" |
Modify .htaccess file in gh-pages branch "latest" to point "new version".
Announce the release
New release can be announced to some mailing lists such as
- announce at apache.org
- general at incubator.apache.org
- users at zeppelin.incubator.apache.org
- dev at zeppelin.incubator.apache.org
Here's an example of an announce.
...