|
1 |
| -This project coordinates the tasks that need to be performed as part of creating a release for Hibernate. |
| 1 | += ORM Releases |
| 2 | +:toc: |
2 | 3 |
|
3 |
| -== Artifacts |
| 4 | +This module performs the tasks needed as part of creating a release for Hibernate ORM. Releases are triggered as a Jenkins job. |
4 | 5 |
|
5 |
| -Both snapshot and release artifacts are published to Sonatype https://oss.sonatype.org/[OSSRH]. |
| 6 | +== Preparation |
6 | 7 |
|
7 |
| -The "official" detials about OSSRH + Gradle can be found at https://central.sonatype.org/publish/publish-gradle/. |
8 |
| -However, its content is way out of date as of the time of this writing. |
9 |
| -https://dev.to/kengotoda/deploying-to-ossrh-with-gradle-in-2020-1lhi presents a much better guide. Regardless, |
10 |
| -This is all just for background; all of this information is "backed into" the build scripts. |
| 8 | +There are a few steps that need to be performed prior to starting the release job: |
11 | 9 |
|
12 |
| -After release, be sure to manage the staging repository created for it on https://oss.sonatype.org/[OSSRH]. |
| 10 | +. Pull all upstream changes and perform `./gradlew preVerifyRelease`. |
| 11 | +. Verify issues in the Jira version |
| 12 | +.. Remove fix version for anything rejected, etc. |
| 13 | +.. Move unresolved issues to another version |
| 14 | +. Mark version released in Jira |
| 15 | +. Bulk close all issues in the Jira version |
13 | 16 |
|
| 17 | +=== New Series |
14 | 18 |
|
15 |
| -== Documentation |
| 19 | +If this is a new series, some additional steps are required to prepare the website: |
16 | 20 |
|
17 |
| -JBoss doc server... |
| 21 | +. Create the series descriptor |
| 22 | +.. create the directory `_data/projects/orm/releases/${family_name}` |
| 23 | +.. create the file `series.yml` |
| 24 | +.. add the appropriate content (_generally this can be copied from previous series_) |
| 25 | +. Create the series listing |
| 26 | +.. create the directory `orm/releases/${family_name}` |
| 27 | +.. create the file `index.adoc` |
| 28 | +.. add listing of all new features in the series |
| 29 | +. Create the documentation listing |
| 30 | +.. create the directory `orm/documentation/${family_name}` |
| 31 | +.. create the file `index.adoc` |
| 32 | +.. add links to all documentation (_generally this can be copied from previous series_) |
| 33 | +. If this new series is to support a new JPA release, also be sure to update `orm/releases/index.adoc` |
18 | 34 |
|
19 | 35 |
|
20 |
| -== SourceForge |
| 36 | +== Perform the Release |
| 37 | + |
| 38 | +Start the appropriate Jenkins https://ci.hibernate.org/view/Release/job/hibernate-orm-release[job]. |
| 39 | + |
| 40 | +NOTE: When a release is started, the job coordinates with the unified Hibernate https://github.com/hibernate/hibernate-release-scripts[release scripts] in a number of stages and steps, |
| 41 | +calling tasks on this module's link:./release.gradle[Gradle script]. |
| 42 | + |
| 43 | +At a high-level, this process: |
| 44 | + |
| 45 | +* builds and verifies the individual modules |
| 46 | +* produces artifacts and publishes them |
| 47 | +* tags the release |
| 48 | +* updates the website |
| 49 | + |
| 50 | +This process has a number of "outputs"... |
| 51 | + |
| 52 | + |
| 53 | +=== Release Artifacts (jar) |
| 54 | + |
| 55 | +Release artifacts are published to https://oss.sonatype.org/[Sonatype OSSRH] (aka, Maven Central). For each module, we publish: |
| 56 | + |
| 57 | +* The "main" jar |
| 58 | +* The sources jar |
| 59 | +* The javadoc jar |
| 60 | + |
| 61 | + |
| 62 | +=== Gradle Plugin |
| 63 | + |
| 64 | +The Gradle plugin gets published to Gradle's https://plugins.gradle.org/[Plugin Portal]. |
| 65 | + |
| 66 | +See https://plugins.gradle.org/plugin/org.hibernate.orm |
| 67 | + |
| 68 | + |
| 69 | +=== Documentation |
| 70 | + |
| 71 | +All documentation for the release is generated, assembled and then published to the https://docs.jboss.org/hibernate/orm/[documentation server]. |
| 72 | + |
| 73 | + |
| 74 | +== Announce |
| 75 | + |
| 76 | +If the release is a maintenance release, there is nothing more to do. |
| 77 | + |
| 78 | +However, for Alpha, Beta, CR and first Final releases some announcements are in order: |
| 79 | + |
| 80 | +. Write a release announcement blog post. |
| 81 | +. Announce the release, with link to the blob post: |
| 82 | +.. on the hibernate-dev and hibernate-announce mailing lists |
| 83 | +.. on the https://discourse.hibernate.org/[forums] |
| 84 | +.. on Twitter |
| 85 | +.. anywhere else you wish (BlueSky, etc). |
21 | 86 |
|
22 |
| -Release bundles (as ZIP and TGZ) are uploaded to https://sourceforge.net/projects/hibernate/files/hibernate-orm/[SourceForge] |
|
0 commit comments