Broaden integration test builds against Hibernate 6 versions.

Set up build profiles for all supported Hibernate 6 versions. Also trigger them in CI as compatibility builds.

Ticket: GH-3413.
This commit is contained in:
Oliver Drotbohm
2024-04-02 15:08:04 +02:00
parent 7fae8c5900
commit 249991f81a
2 changed files with 131 additions and 29 deletions

109
Jenkinsfile vendored
View File

@@ -57,7 +57,7 @@ pipeline {
}
parallel {
stage("test: baseline (hibernate 6.4.x snapshots)") {
stage("test: hibernate 6.2 (LTS)") {
agent {
label 'data'
}
@@ -71,34 +71,97 @@ pipeline {
steps {
script {
docker.image(p['docker.java.next.image']).inside(p['docker.java.inside.docker']) {
sh "PROFILE=all-dbs,hibernate-64-next " +
sh "PROFILE=all-dbs,hibernate-62 " +
"JENKINS_USER_NAME=${p['jenkins.user.name']} " +
"ci/test.sh"
}
}
}
}
stage("test: baseline (hibernate 6.4 snapshots)") {
agent {
label 'data'
}
options { timeout(time: 30, unit: 'MINUTES')}
environment {
ARTIFACTORY = credentials("${p['artifactory.credentials']}")
DEVELOCITY_CACHE = credentials("${p['develocity.cache.credentials']}")
DEVELOCITY_ACCESS_KEY = credentials("${p['develocity.access-key']}")
TESTCONTAINERS_IMAGE_SUBSTITUTOR = 'org.springframework.data.jpa.support.ProxyImageNameSubstitutor'
}
steps {
script {
docker.image(p['docker.java.next.image']).inside(p['docker.java.inside.docker']) {
sh "PROFILE=all-dbs,hibernate-64-snapshots " +
"JENKINS_USER_NAME=${p['jenkins.user.name']} " +
"ci/test.sh"
}
}
}
}
stage("test: baseline (hibernate 6.5)") {
agent {
label 'data'
}
options { timeout(time: 30, unit: 'MINUTES')}
environment {
ARTIFACTORY = credentials("${p['artifactory.credentials']}")
DEVELOCITY_CACHE = credentials("${p['develocity.cache.credentials']}")
DEVELOCITY_ACCESS_KEY = credentials("${p['develocity.access-key']}")
TESTCONTAINERS_IMAGE_SUBSTITUTOR = 'org.springframework.data.jpa.support.ProxyImageNameSubstitutor'
}
steps {
script {
docker.image(p['docker.java.next.image']).inside(p['docker.java.inside.docker']) {
sh "PROFILE=all-dbs,hibernate-65 " +
"JENKINS_USER_NAME=${p['jenkins.user.name']} " +
"ci/test.sh"
}
}
}
}
stage("test: baseline (hibernate 6.5 snapshots)") {
agent {
label 'data'
}
options { timeout(time: 30, unit: 'MINUTES')}
environment {
ARTIFACTORY = credentials("${p['artifactory.credentials']}")
DEVELOCITY_CACHE = credentials("${p['develocity.cache.credentials']}")
DEVELOCITY_ACCESS_KEY = credentials("${p['develocity.access-key']}")
TESTCONTAINERS_IMAGE_SUBSTITUTOR = 'org.springframework.data.jpa.support.ProxyImageNameSubstitutor'
}
steps {
script {
docker.image(p['docker.java.next.image']).inside(p['docker.java.inside.docker']) {
sh "PROFILE=all-dbs,hibernate-65-snapshots " +
"JENKINS_USER_NAME=${p['jenkins.user.name']} " +
"ci/test.sh"
}
}
}
}
stage("test: baseline (hibernate 6.6 snapshots)") {
agent {
label 'data'
}
options { timeout(time: 30, unit: 'MINUTES')}
environment {
ARTIFACTORY = credentials("${p['artifactory.credentials']}")
DEVELOCITY_CACHE = credentials("${p['develocity.cache.credentials']}")
DEVELOCITY_ACCESS_KEY = credentials("${p['develocity.access-key']}")
TESTCONTAINERS_IMAGE_SUBSTITUTOR = 'org.springframework.data.jpa.support.ProxyImageNameSubstitutor'
}
steps {
script {
docker.image(p['docker.java.next.image']).inside(p['docker.java.inside.docker']) {
sh "PROFILE=all-dbs,hibernate-66-snapshots " +
"JENKINS_USER_NAME=${p['jenkins.user.name']} " +
"ci/test.sh"
}
}
}
}
stage("test: hibernate 6.2 (LTS)") {
agent {
label 'data'
}
options { timeout(time: 30, unit: 'MINUTES')}
environment {
ARTIFACTORY = credentials("${p['artifactory.credentials']}")
DEVELOCITY_CACHE = credentials("${p['develocity.cache.credentials']}")
DEVELOCITY_ACCESS_KEY = credentials("${p['develocity.access-key']}")
TESTCONTAINERS_IMAGE_SUBSTITUTOR = 'org.springframework.data.jpa.support.ProxyImageNameSubstitutor'
}
steps {
script {
docker.image(p['docker.java.next.image']).inside(p['docker.java.inside.docker']) {
sh "PROFILE=all-dbs,hibernate-62 " +
"JENKINS_USER_NAME=${p['jenkins.user.name']} " +
"ci/test.sh"
}
}
}
}
stage("test: java.next (next)") {
agent {
label 'data'

51
pom.xml Normal file → Executable file
View File

@@ -31,8 +31,11 @@
<eclipselink>3.0.4</eclipselink>
<eclipselink-next>4.0.2</eclipselink-next>
<hibernate>6.4.4.Final</hibernate>
<hibernate-64-next-snapshots>6.4.5-SNAPSHOT</hibernate-64-next-snapshots>
<hibernate-62>6.2.22.Final</hibernate-62>
<hibernate-62>6.2.24.Final</hibernate-62>
<hibernate-64-snapshots>6.4.5-SNAPSHOT</hibernate-64-snapshots>
<hibernate-65>6.5.0.CR1</hibernate-65>
<hibernate-65-snapshots>6.5.0-SNAPSHOT</hibernate-65-snapshots>
<hibernate-66-snapshots>6.6.0-SNAPSHOT</hibernate-66-snapshots>
<hsqldb>2.7.1</hsqldb>
<h2>2.2.220</h2>
<jakarta-persistence-api>3.1.0</jakarta-persistence-api>
@@ -56,9 +59,15 @@
<profiles>
<profile>
<id>hibernate-64-next</id>
<id>hibernate-62</id>
<properties>
<hibernate>${hibernate-64-next-snapshots}</hibernate>
<hibernate>${hibernate-62}</hibernate>
</properties>
</profile>
<profile>
<id>hibernate-64-snapshots</id>
<properties>
<hibernate>${hibernate-64-snapshots}</hibernate>
</properties>
<repositories>
<repository>
@@ -71,11 +80,41 @@
</repositories>
</profile>
<profile>
<id>hibernate-62</id>
<id>hibernate-65</id>
<properties>
<hibernate>${hibernate-62}</hibernate>
<hibernate>${hibernate-65}</hibernate>
</properties>
</profile>
<profile>
<id>hibernate-65-snapshots</id>
<properties>
<hibernate>${hibernate-65-snapshots}</hibernate>
</properties>
<repositories>
<repository>
<id>sonatype-oss</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
</repository>
</repositories>
</profile>
<profile>
<id>hibernate-66-snapshots</id>
<properties>
<hibernate>${hibernate-66-snapshots}</hibernate>
</properties>
<repositories>
<repository>
<id>sonatype-oss</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
</repository>
</repositories>
</profile>
<profile>
<id>all-dbs</id>
<build>