General

Community

Users

Developers

PMC

ASF

How does cTAKES manage releases?

We follow the standard ASF release process. One of the committers would volunteer to play the release manager role for a given release. A few days will be spent on stabilizing the cTAKES development trunk, improving its documentation and test coverage. The maven release plug-in (mvn release:prepare/perform) is recommended for this purpose (See details below).

Open JIRA issues will be reviewed and rearranged accordingly. Many of the issues will get resolved during this process and the remaining few will be accordingly prioritized and scheduled for a future release. The unit tests and integration tests will be used extensively during this critical period to keep the development in its most stable form. Move any existing open issues to the next release.

  1. Send an email out to ctakes-dev@ with the intention of creating a release and that you will be volunteering for the release manager role.
  2. Decide if you like to A) freeze any development in trunk until the release has been completed. B) Create a branch that this release will be created from and development in trunk could continue.
  3. If B) create a branch from trunk (such svn copy from trunk to branches/3.1.0). Edit the SVN connections info in the root pom.xml to the branch instead of trunk. Continue with the steps below as usual, but just work of the newly created branch instead of trunk. Note: It is the RM role to ensure that any fixes done in the branch are also done back in trunk.

Finally the release manager would trigger the release build, sign the generated artifacts and host them on Apache Nexus & Maven Central. A release vote will be called urging all those interested to review the packs and provide feedback. Upon receiving the necessary number of votes, the artifacts will be uploaded to the appropriate servers for distribution.

Preparing your Environment

  1. Read: http://www.apache.org/dev/publishing-maven-artifacts.html
  2. Setup your PGP keys: https://docs.sonatype.org/display/Repository/How+To+Generate+PGP+Signatures+With+Maven

Preparing a Release using Maven

Note: Using 3.1.0 as an example

It may prompt your to enter your PGP passphrase and SVN password multiple times for each module. Just enter them in- as passing them in thru the CLI is found to be insecure.

  1. $svn co https://svn.apache.org/repos/asf/ctakes/trunk ctakes
  2. $mvn release:clean
  3. $mvn release:prepare -DdryRun={false} -Dresume={false} -DautoVersionSubmodules=true

Release: 3.1.0

Tag: ctakes-3.1.0-rc1

Next Dev Release: 3.2.0-SNAPSHOT

  1. $mvn release:perform
  2. [If need to revert] $ mvn release:rollback (Works if you didn't do a release:clean yet)

This will place the artifacts to the ASF Nexus area for staging for voting.

Preparing the RC for a VOTE

Send an email like the following with the subject line: [VOTE} Release Apache cTAKES to ctakes-dev@

Hi,
This is a call for a vote on releasing the following candidate as Apache cTAKES 3.1.0. This will be our first release as a TLP.

CTAKES-136 - Remove models and binary from the src and bin dist

For more detailed information on the changes/release notes, please visit: https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12313621&version=12322969

The release was made using the cTAKES release process documented here: http://ctakes.apache.org/ctakes-release-guide.html

The candidate is available at: http://people.apache.org/~chenpei/ctakes-3.1.0/rc7/target/apache-ctakes-3.1.0-src.tar.gz /.zip

The binary is: http://people.apache.org/~chenpei/ctakes-3.1.0/rc7/target/apache-ctakes-3.1.0-bin.tar.gz /.zip

The tag to be voted on: http://svn.apache.org/repos/asf/ctakes/tags/ctakes-3.1.0-rc7/

The MD5 checksum of the tarball can be found at: http://people.apache.org/~chenpei/ctakes-3.1.0/rc7/target/apache-ctakes-3.1.0-src.tar.gz.md5 /.zip.md5

The signature of the tarball can be found at: http://people.apache.org/~chenpei/ctakes-3.1.0/rc7/target/apache-ctakes-3.1.0-src.tar.gz.asc /.zip.asc

Apache cTAKES' KEYS file, containing the PGP keys used to sign the release: http://svn.apache.org/repos/asf/ctakes/tags/ctakes-3.1.0-rc7/KEYS

Please vote on releasing these packages as Apache cTAKES 3.1.0. The vote is open for at least the next 72 hours. Only votes from the cTAKES PMC are binding, but folks are welcome to check the release candidate and voice their approval or disapproval. The vote passes if at least three binding +1 votes are cast.

[ ] +1 Release the packages as Apache cTAKES 3.1.0 [ ] -1 Do not release the packages because... Thanks! Pei P.S. Here is my +1.

If VOTE passes with 3+ cTAKES PMC votes, move onto next step. If VOTE does not pass, repeat steps 3-on until it does

Publishing Artifacts to dist

  1. mvn release:perform
  2. commit the artifacts to https://dist.apache.org/repos/dist/release/ctakes/

Creating Final Tag from RC Tag after VOTE Passes

For example, if the VOTE for RCX passes for release A.B.C

 svn copy \
   https://svn.apache.org/repos/asf/ctakes/tags/ctakes-A.B.C-rcX  \
   https://svn.apache.org/repos/asf/ctakes/tags/ctakes-A.B.C      \
   -m "Copying tag of accepted RC for the release to final actual release tag"

Sending Announcement Email

Wait for versions to hit the mirrors (hint: keep checking http://www.apache.org/dyn/closer.cgi/oodt until you see something). Once release hits send announcement email to announce@a.o and dev@ctakes and user@ctakes. This needs to be done from your @apache.org email address or the email will bounce from the announce list. Gmail forwarding can help here and is a snap to set up (http://gmailblog.blogspot.com/2009/07/send-mail-from-another-address-without.html). It's even easier then the instructions there as it will recognize your email address and default to Apache settings.

Copyright © 2011 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
Apache and the Apache feather logo are trademarks of The Apache Software Foundation.