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
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).
|
Many release steps have been automated, but some still need to be done manually:
-
Mark version released in Jira
-
Bulk close all the version’s Jira tickets
-
Get changelog from Jira and add to
../changelog.txt
-
Change version in
gradle/version.properties
to the release version -
Commit - do not push, because pushing will cause CI to upload another staging repository
-
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 -
Verify / trigger the sync to Central from BinTray happened. This never seems to happen automatically so plan on triggering the sync manually.
-
Create the release tag
-
Change version in
gradle/version.properties
to the next development version -
Commit
-
Push (both the branch and tag) upstream