Merge branch 'wip/6.0' into wip/6.0_merge_51

This commit is contained in:
Andrea Boriero 2020-08-25 08:39:45 +01:00
commit 2d9fcf6db5
4 changed files with 69 additions and 9 deletions

View File

@ -77,7 +77,7 @@ public class LocalTimeJavaDescriptor extends AbstractTemporalTypeDescriptor<Loca
return null;
}
if ( LocalDate.class.isAssignableFrom( type ) ) {
if ( LocalTime.class.isAssignableFrom( type ) ) {
return (X) value;
}

View File

@ -0,0 +1,37 @@
= Release Process (Jenkins)
Details for releasing ORM via a Jenkins job.
The release can alternatively be performed manually - see <<./manual-release-process.adoc>> 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>>

View File

@ -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
== Post-release steps
See <<./post-release-steps.adoc>>

View File

@ -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