Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 42 Next »

Releases are now performed using Maven 2 so you need to have Maven 2 installed (see the building page).

  1. There four several artifacts which have separate release cycles (in this order): pom, resources, core, extensions.
  2. In each artifact:
    1. Check if there have been SVN commits on that artifact since the latest stable release. If there have been, you'll need to release.
    2. In the artifact's topmost pom.xml, if there are links to other modules (core/pom.xml contains a property called cargo.resources.version, for example), update these to the latest release
    3. Release the artifact
    4. In the artifact's topmost pom.xml, change the links to the other modules' versions to the latest SNAPSHOT back again
  3. Before releasing, make sure what is going to be released is fully functional. In particular, run the core/samples using the all-downloadable profile (mvn clean install -Pall-downloadable).
    1. If any container is not passing, more it to the all-unstable-downloadable list.
    2. Make sure all containers in the all-stable-downloadable profile pass the samples.
  4. Releases are done with the maven release plugin.
    1. Please do a dry-run before doing the actual release to ensure there aren't any problems.
    2. The typical Maven release procedure is to execute these four commands:
      1. mvn clean install
      2. mvn clean release:prepare -DautoVersionSubmodules=true -DdryRun=true -DpreparationGoals="clean install"
      3. mvn clean release:prepare -DautoVersionSubmodules=true -DpreparationGoals="clean install"
      4. mvn clean release:perform
    3. You can supply your credentials on the command line (-Dusername=<username> -Dpassword=<password>), or keep them in your settings.xml file (in your .m2 directory or in your user home directory. Here's an example settings.xml:
  5. Log onto Cargo JIRA, release the current version and add the next version
  6. Check that the Cargo wiki is up to date. Specifically, perform the following updates:
    1. Modify the status on the home page about the delivery:
      1. Make sure the Containers list is complete. The documentation for each container is generated in core/documentation/target/[container's name].log.
      2. Make sure the Navigation page is complete, pay a particular attention to the Containers and Experimental containers lists (the latter contains all containers in the all-unstable-downloadable list)
    2. Modify the Downloads and Archived Downloads pages to update the download links
    3. Create a release notes page for the new version
    4. Export the wiki to a zipped HTML file and add it the Downloads page
  7. Send an announcement email to Cargo mailing lists (and to other relevent sites)
  8. Create a blog post
  • No labels