Skip to content

Latest commit

 

History

History
118 lines (79 loc) · 5.42 KB

how-to-release.md

File metadata and controls

118 lines (79 loc) · 5.42 KB

Releasing Hibernate OGM

Requirements

Make sure you have:

  1. JDK 7 for the build (the created artifacts are compatible with Java 6)

  2. Maven configured to use the JBoss repositories, with permissions to upload. Make sure your settings.xml is configured accordingly or use the option -s settings-example.xml when running the commands.

  3. all the permissions required to upload the packages on:

  • Nexus: you can try to login on the Nexus web interface
  • SourceForge: you need to have the authorization on the hibernate-ogm project
  • Documentation: you have to be able to connect via ssh to [email protected]:/docs_htdocs/hibernate/ogm/[version]

Release process

To prepare and release a new version of Hibernate OGM follow these steps (executed against the branch you intend to release):

Preparation

Verify:

  1. the project status on Jenkins

  2. there are no outstanding issues in JIRA

  3. tests and artifacts:

        mvn clean install -s settings-example.xml
    
  4. the distribution package as built by Maven (distribution/target/hibernate-ogm-[version]-dist).

    They should contain the appropriate dependencies, without duplicates. The creation of these directories is driven by the assembly plugin (see distribution/src/main/assembly/dist.xml) which is very specific and might break with the inclusion of new dependencies.

    Especially check the jar files in the subdirectories:

    • optional
    • required
    • provided

Release

  1. Release the version on JIRA

  2. Update the changelog.txt in project root from JIRA's release notes

  3. Verify readme.txt:

    • content is up to date
    • links are not broken
    • current date and version number in the header
  4. Commit any outstanding changes

  5. Tag and build the release using the maven release plugin; During release:prepare you will have to specify the tag name and release version:

        mvn release:prepare -s settings-example.xml
        mvn release:perform -s settings-example.xml
        git push upstream HEAD
        git push upstream <release-version>
    
  6. Log in to Nexus:

Publish

  1. Upload the distribution packages to SourceForge (they should be under target/checkout/target). You need to be member of the Hibernate project team of Sourceforge to do that (Also see the Sourceforge instructions):

    • Copy the changelog.txt (in target/checkout/distribution/target/hibernate-ogm-[version]-dist)
    • Copy the readme.txt (in target/checkout/distribution/target/hibernate-ogm-[version]-dist)
    • Copy the .zip distribution (in target/checkout/distribution/target)
    • Copy the .tar.gz distribution (in target/checkout/distribution/target)
    • Copy the .zip containing the JBoss Modules. There are two .zip files:
      • for EAP 6: in target/checkout/modules/eap6/target
      • for WildFly 8: in target/checkout/modules/wildfly/target
  2. Upload the documentation to docs.jboss.org. Do so using rsync (provided you are in the docs directory of the unpacked distribution):

        rsync -rzh --progress --delete \
              --protocol=28 docs/ [email protected]:/docs_htdocs/hibernate/ogm/[version-family]
    

    or alternatively

        scp -r api [email protected]:docs_htdocs/hibernate/ogm/[version-family]
        scp -r reference [email protected]:docs_htdocs/hibernate/ogm/[version-family]
    
  3. If it is a final release, you have to add the symbolic link /docs_htdocs/hibernate/stable/ogm. You can't create symlinks on the server so you either create it locally then rsync it up, or make a copy of the documentation in that URL.

  4. Update the community pages. In particular, update the migration notes.

Announce

  1. Blog about the release on in.relation.to, make sure to use the tags Hibernate OGM, Hibernate and news for the blog entry. This way the blog will be featured on the web-site and on the JBoss blog federation.

  2. Update hibernate.org by adding a new release file to data/projects/ogm/releases. Remember to add a one line summary using the property summary. If you don't want to display an older release, set the property displayed to false in the corresponding .yml file. When ready, deploy everything on production.

    Check:

  3. Send email to hibernate-dev and hibernate-announce. A quick sum up paragraph in the email is necessary before pointing to the blog entry.

  4. Twitter