diff --git a/hibernate-core/src/main/java/org/hibernate/type/descriptor/java/LocalTimeJavaDescriptor.java b/hibernate-core/src/main/java/org/hibernate/type/descriptor/java/LocalTimeJavaDescriptor.java index 613caca88c..2aa5806312 100644 --- a/hibernate-core/src/main/java/org/hibernate/type/descriptor/java/LocalTimeJavaDescriptor.java +++ b/hibernate-core/src/main/java/org/hibernate/type/descriptor/java/LocalTimeJavaDescriptor.java @@ -77,7 +77,7 @@ public class LocalTimeJavaDescriptor extends AbstractTemporalTypeDescriptor> for details. + +== Resources + +First, a list of resources you will need access to in order to perform a release: + +* Post permissions for both hibernate-dev and hibernate-announce mailing lists +* Post permissions for Hibernate forums +* Post permissions for both G+ and Twitter + + +== Steps + +1. Perform `./gradlew clean build` locally (after pulling all upstream changes). The Jenkins job does only the release steps, and we need to make sure tests and checkstyle especially are ok +2. Mark the version as released in Jira +3. Close all issues associated with the version as closed. Be sure to remove the version from any issues that are not resolved (e.g. rejected) - the Jira "release notes" mechanism includes all issues with that version as the fix-for regardless of the resolution +4. Start the https://ci.hibernate.org/view/ORM/job/hibernate-orm-release/[Jenkins job]. It is a parameterized build - Jenkins will prompt user for needed information: +.. The version to be released (e.g. 6.0.0.Final) +.. The next development version (e.g. 6.0.1-SNAPSHOT) +.. The GitHub branch from which to release + +The Jenkins job performs the following tasks: + +1. sets the version to the provided release version +2. updates the changelog with the info from Jira +3. performs bintray, sourceforge and documentation upload +4. tags the version and push it to github +5. changes the version to the provided development version +6. push to github + +== Post-release steps + +See <<./post-release-steps.adoc>> \ No newline at end of file diff --git a/release/release-process.adoc b/release/manual-release-process.adoc similarity index 67% rename from release/release-process.adoc rename to release/manual-release-process.adoc index eb3df8da61..cb68e4b086 100644 --- a/release/release-process.adoc +++ b/release/manual-release-process.adoc @@ -1,4 +1,9 @@ -= Release Process += 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 @@ -8,6 +13,7 @@ First, a list of resources you will need access to in order to perform a release * 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). @@ -27,10 +33,8 @@ Many release steps have been automated, but some still need to be done manually: 9. Change version in `gradle/base-information.gradle` to the next development version 10. Commit 11. Push (both the branch and tag) upstream -12. Update the https://github.com/hibernate/hibernate.org[website] ("production" branch") -.. If this is the first release in a new family/series, some additional steps are required: -... Create a directory `_data/projects/orm/releases/${family_name}` and create a file named `series.yml`. E.g. for 4.3.0.Final you'd be adding _data/projects/orm/releases/4.3/series.yml -... Create a directory `orm/releases/${family_name}` and create a file named `index.adoc`. E.g. for 4.3.0.Final you'd be adding orm/releases/4.3/index.adoc -... Create a directory `orm/documentation/${family_name}` and create a file named `index.adoc`. E.g. for 4.3.0.Final you'd be adding orm/documentation/4.3/index.adoc -... If this new series is to support a new JPA release, also be sure to update `orm/releases/index.adoc` -.. Create a release-specific yml file in `_data/projects/orm/releases/${family_name}`. E.g. for 4.3.0.Final you'd add _data/projects/orm/releases/4.3/4.3.0.Final.yml \ No newline at end of file + + +== Post-release steps + +See <<./post-release-steps.adoc>> \ No newline at end of file diff --git a/release/post-release-steps.adoc b/release/post-release-steps.adoc new file mode 100644 index 0000000000..d65d6071be --- /dev/null +++ b/release/post-release-steps.adoc @@ -0,0 +1,19 @@ += Post-release Steps + +Whether releasing <<./manual-release-process.adoc>>[manually] or via the <<./jenkins-release-process.adoc>>[Jenkins job], +there are a number of "post" release steps that need to be performed... + +1. Initiate sync of release artifacts from BinTray to Maven Central - https://bintray.com/hibernate +2. Write release announcement blog post (see http://in.relation.to/README/[Blog site instructions]) +3. Write release descriptor as part of the https://github.com/hibernate/hibernate.org[website] +.. If this is the first release in a new family/series, some additional steps are required: +... Create a directory `_data/projects/orm/releases/${family_name}` and create a file named `series.yml`. E.g. for 4.3.0.Final you'd be adding _data/projects/orm/releases/4.3/series.yml +... Create a directory `orm/releases/${family_name}` and create a file named `index.adoc`. E.g. for 4.3.0.Final you'd be adding orm/releases/4.3/index.adoc +... Create a directory `orm/documentation/${family_name}` and create a file named `index.adoc`. E.g. for 4.3.0.Final you'd be adding orm/documentation/4.3/index.adoc +... If this new series is to support a new JPA release, also be sure to update `orm/releases/index.adoc` +.. Create a release-specific yml file in `_data/projects/orm/releases/${family_name}`. E.g. for 4.3.0.Final you'd add _data/projects/orm/releases/4.3/4.3.0.Final.yml +4. Announce the release +.. on the hibernate-dev and hibernate-announce mailing lists +.. on Twitter (use hibernate account not the dev one) +.. on https://discourse.hibernate.org/[forums] +5. Possibly update "current" symlink on the documentation server - only for a new minor or major release