Skip to content

Latest commit

 

History

History
40 lines (27 loc) · 2.25 KB

manual-release-process.adoc

File metadata and controls

40 lines (27 loc) · 2.25 KB

Release Process (manual)

Details for releasing ORM manually from developers machine.

The release can alternatively be performed via a Jenkins job - see [./jenkins-release-process.adoc] for details

Resources

First, a list of resources you will need access to in order to perform a release:

  • JBoss doc server - SSH key. See List of resources a dev team member needs access to

  • SourceForge - SSH key. There is a great wiki on SourceForge covering setting up your SSH key ( https://sourceforge.net/p/forge/documentation/SSH/ ). You must also be added to the admin group of the Hibernate SourceForge project.

  • Bintray - Uses an "api key". Both the username (PERSONAL_BINTRAY_USER) and the api key (PERSONAL_BINTRAY_API_KEY) are needed - add them to ~/.gradle/gradle.properties. To find your api key, go to Bintray.com > Edit Profile > API Key.

  • Post permissions for both hibernate-dev and hibernate-announce mailing lists. Again, see List of resources a dev team member needs access to

  • Post permissions for Hibernate forums

  • Post permissions for both G+ and Twitter

Note
Realistically, release builds can only be run on *Nix systems. We rely on system commands for parts of the release tasks in the build script. Specifically we use rsync and ln (for symlink creation).

Steps

Many release steps have been automated, but some still need to be done manually:

  1. Mark version released in Jira

  2. Bulk close all the version’s Jira tickets

  3. Get changelog from Jira and add to ../changelog.txt

  4. Change version in gradle/version.properties to the release version

  5. Commit - do not push, because pushing will cause CI to upload another staging repository

  6. Do the release - from the root-dir, ./gradlew release. This relies on Gradle’s UP-TO-DATE checks, assuming you have verified the build already. ./gradlew cleanAndRelease can be used instead to trigger a full clean+build for the release

  7. Verify / trigger the sync to Central from BinTray happened. This never seems to happen automatically so plan on triggering the sync manually.

  8. Create the release tag

  9. Change version in gradle/version.properties to the next development version

  10. Commit

  11. Push (both the branch and tag) upstream

Post-release steps