Releasing Hibernate Search

Version 85

     

    Requirements

    • JDK 8 (Required for the build, but still aiming at Java 7 compatibility)
    • Maven 3.3.3
    • You need to have access to http://ci.hibernate.org/: the release process is now driven by CI

     

    Release process

     

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

     

    Prepare

    • Check that everything has been pushed to the upstream repository
    • Check that CI is green for the branch you want to release
    • Verify the project status
      • Make sure there are no outstanding issues in JIRA
      • Verify the tests and artifacts:
        > mvn clean install -Pdocbook,dist,perf -s settings-example.xml
      • Check the distribution package as built by Maven (distribution/target/hibernate-search-<version>-dist). Especially check the jar files in the subdirectories:
        • optional
        • required
        • provided

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

                    might break with the inclusion of new dependencies. The root directory of the distribution should contain the hibernate-search-<version>.jar and hibernate-search-infinispan-<version>.jar. You can get a list of the

                    included jars by for example running:  find distribution/target/hibernate-search-<version>-dist -name "*.jar" | awk 'BEGIN { FS = "/" } ; {print $8 "\t" $7}'  | sort

     

    Release

    • Release the version on JIRA
    • Do NOT update the changelog.txt and README.md, the release job does it for you.
    • Go to CI, and select the hibernate-validator-release job. Click on Build with parameters.
      • Be careful when filling the form with the build parameters.
    • Release the artifacts on the JBoss Nexus repository manager. This ia a two-steps process.
      • Log into Nexus and examine your staging repository. Click on the Updated column 2 times to have the repositories sorted correctly.
      • You can either drop it in order to start over again or you can close and promote it making the artifacts available in the live repository. (Click Refresh after each action)
      • You can find more information in the description of the JBoss project release process. A Maven settings.xml for testing the artifacts in the staging repository can be found here.
      • Test the release in the staging repository. If there is a problem, drop the staging repo, fix the problem, delete the commits pushed by CI and the tag (Note: they have been pushed upstream by CI). If everything is ok, promote the staging repo to the releases repository.
    • If it's a final release, create maintenance branches for the previous version.
      • mvn versions:set -DnewVersion=A.B.C-SNAPSHOT
      • git add, commit, push upstream the new branch.
    • Transfer the released issues in JIRA to the Closed state. You can use this search Issue Navigator - Hibernate JIRA and select another fixVersion. Once you have selected the right version, click on the button with three dots at the top right of the screen and click on Bulk update all XX issues. Use the Transition action to transition your issues from Resolved to Closed.

     

    Publish

    • The CI job automatically pushes the distribution to SourceForge and publishes the documentation to docs.jboss.org.

     

    Announce