MAINTAINERS.md
This guide is intended for maintainers of Hibernate ORM, i.e. anybody with direct push access to the git repository.
See CONTRIBUTING.md.
Continuous integration is split across two platforms:
TODO: describe the workflows available.
https://ci.hibernate.org/job/hibernate-orm-pipeline/
This job takes care of testing additional DBs for:
It is generally triggered on push, but can also be triggered manually, which is particularly useful to test more environments on a pull request.
See Jenkinsfile for the job definition.
https://ci.hibernate.org/job/hibernate-orm-release/
This job takes care of releases. It is triggered manually.
See ci/release/Jenkinsfile for the job definition.
See Releasing for more information.
If you're looking for information about how releases are implemented technically, see release/README.adoc.
If you're looking for information about how to release Hibernate ORM, read on.
On select maintenance branches (6.2, 6.4, 7.0, ...),
micro releases (x.y.1, x.y.2, ...) are performed on weekends
if, since the last release, commits were pushed with a message starting with [HHH- or HHH- --
which is taken as "someone fixed something worthy of a Jira issue".
Make sure to assign fix versions properly in Jira when merging pull requests.
No announcements are expected for such releases: neither through X, blog posts, or email.
On main and some maintenance branches (6.5, ...),
automated releases are disabled.
You must perform releases by manually triggering a CI job.
In any case, before the release:
6.6, 6.6-next, ... naming convention may vary);
if there are, you might want to assign them to your release../gradlew releasePrepare locally.If it's the first Alpha/Beta of a new major or minor release, before the release:
If it's a .CR or .Final release, before the release:
Trigger the CI release job to automatically publish artifacts and documentation...
RELEASE_VERSION is absolutely necessary.After the job succeeds:
_data/projects/orm/releases/<series>/series.yml file,
a orm/releases/<series>/index.adoc file, and a orm/documentation/<series>/index.adoc file.
Generally these files can be copied from previous series.orm/releases/index.adoc_data/projects/orm/releases that was created automatically by the release job:
use a meaningful summary, if relevant, and set announcement_url to the blog post, if any.status/displayed attributes of the series.yml file of the old series.If it is an Alpha, Beta, CR or first Final (x.y.0.Final) release, announce it:
[email protected] and CC [email protected].@Hibernate account.If you just released the latest stable, you will need to update other projects:
.Final release, upgrade the Hibernate ORM dependency manually:
In any case:
If it is a new major or minor release:
main branch if you forgot about it when preparing the release.Once the release series (e.g. 7.2) is branched out and goes into maintenance mode make sure to:
RELEASE_ON_SCHEDULE to trueon.pushbranches)ENABLE_QUARKUS_BUILDS to true and update QUARKUS_BRANCH_TO_TEST as necessary.Don't build environments for newer JDKs