Skip to content

Release Process

spmallette edited this page Dec 21, 2012 · 10 revisions

This document describes the release process used when releasing a stable version of a TinkerPop product.

  1. Update CHANGELOG.textile with release date and logo.
    1. Copy CHANGELOG.textile over to the respective Release Notes wiki.
  2. Update Wiki <dependency/> references with latest <version/> number.
  3. Update Wiki JavaDoc references on the main Wiki page.
  4. Git clone the Wiki directory and put the documentation in doc/wiki of the project.
  5. Update pom.xml with latest <version/> number.
    1. Projects may have a hard coded version as a public static String.
  6. Uncomment maven-gpg-plugin XML stub in pom.xml.
  7. Run Rexster integration tests mvn clean install -Pintegration-test and ensure they pass successfully.
  8. mvn clean install deploy (this will deploy to SonaType staging).
  9. mvn javadoc:javadoc (for aggregate projects, use mvn javadoc:aggregate).
  10. Upload JavaDoc to respective s3://www.tinkerpop.com/docs/javadocs/project.name/project.version.
    1. Check the main Wiki page link to make sure it points to the correct JavaDoc.
  11. git commit and git push the stable codebase.
  12. git tag -a -m "..." x.y.z and git push --tags. (nice documentation here)
    1. Review the tags to ensure the -m message has the same look and feel as the others.
  13. For distributions, upload the target/project.zip to s3://www.tinkerpop.com/downloads/project.name.
    1. Make sure the description has the same look and feel as the others.
  14. Log into SonaType and close the release.
    1. If all is successful, then release the release.
    2. Central Repo syncs with SonaType approximately every 2 hours.

All the information regarding SonaType/Central Repo can be found at this location. This documentation is very thorough and, if followed in a step-by-step fashion (don’t skip a step), then releasing works great. Note that since TinkerPop is already an accepted project by SonaType, the steps above are all that are needed though the document has some great pointers for example, information on maven-gpg-plugin.

Sub-process used to generate TinkerPop HTML documentation

  1. Update index.html and README.textile with latest version using Semantic Versioning major.minor.patch format.
  2. git clone git://github.com/tinkerpop/blueprints.wiki.git in wiki/ directory
  3. start gollum in wiki/blueprints.wiki/ directory
  4. for each .textile file found in wiki/blueprints.wiki/ directory:
    1. request .textile file via HTTP GET
    2. update page head with TinkerpopBlueprints home page
    3. update TinkerPop links
    4. update css, images, javascript links
    5. add .html extension to wiki links
    6. write file to doc/blueprints/%version%/%filename%.html
  5. stop gollum process
  6. restart at step 2 and replace blueprints by pipes, gremlin, frames, furnace, rexster
  7. git commit & push to https://github.com/pierredewilde/doc
  8. transfer files to s3://www.tinkerpop.com/docs/wikidocs/.
Clone this wiki locally