Skip to content

Commit

Permalink
HSEARCH-4783 Avoid excruciatingly long test runs on DB2 and CockroachDB
Browse files Browse the repository at this point in the history
  • Loading branch information
yrodiere committed Jan 27, 2023
1 parent c9fb3bc commit 1436147
Showing 1 changed file with 24 additions and 19 deletions.
43 changes: 24 additions & 19 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -197,10 +197,12 @@ stage('Configure') {
new DatabaseBuildEnvironment(dbName: 'mysql', mavenProfile: 'ci-mysql',
condition: TestCondition.AFTER_MERGE),
new DatabaseBuildEnvironment(dbName: 'db2', mavenProfile: 'ci-db2',
slow: true,
condition: TestCondition.AFTER_MERGE),
new DatabaseBuildEnvironment(dbName: 'mssql', mavenProfile: 'ci-mssql',
condition: TestCondition.AFTER_MERGE),
new DatabaseBuildEnvironment(dbName: 'cockroachdb', mavenProfile: 'ci-cockroachdb',
slow: true,
condition: TestCondition.AFTER_MERGE),
],
esLocal: [
Expand Down Expand Up @@ -487,9 +489,9 @@ stage('Non-default environments') {
// Test ORM integration with multiple databases
environments.content.database.enabled.each { DatabaseBuildEnvironment buildEnv ->
executions.put(buildEnv.tag, {
// Some databases, e.g. DB2 or CockroachDB, can be really slow, so we need to raise the timeout.
runBuildOnNode(NODE_PATTERN_BASE, [time: 2, unit: 'HOURS']) {
runBuildOnNode(NODE_PATTERN_BASE, [time: buildEnv.slow ? 2 : 1, unit: 'HOURS']) {
withMavenWorkspace {
def artifactsToTest = ['hibernate-search-mapper-orm']
// Some modules are likely to fail for reasons unrelated to Hibernate Search anyway
// (for example because we didn't configure the tests to handle other DBs),
// so we skip them.
Expand All @@ -501,19 +503,25 @@ stage('Non-default environments') {
-pl !integrationtest/java/modules/orm-lucene \
-pl !integrationtest/java/modules/orm-elasticsearch \
-pl !integrationtest/java/modules/orm-coordination-outbox-polling-elasticsearch \
-pl !orm6/documentation \
-pl !orm6/integrationtest/mapper/orm-batch-jsr352 \
-pl !orm6/integrationtest/v5migrationhelper/orm \
-pl !orm6/integrationtest/java/modules/orm-lucene \
-pl !orm6/integrationtest/java/modules/orm-elasticsearch \
-pl !orm6/integrationtest/java/modules/orm-coordination-outbox-polling-elasticsearch \
-pl !jakarta/documentation \
-pl !jakarta/integrationtest/mapper/orm-batch-jsr352 \
-pl !jakarta/integrationtest/v5migrationhelper/orm \
-pl !jakarta/integrationtest/java/modules/orm-lucene \
-pl !jakarta/integrationtest/java/modules/orm-elasticsearch \
-pl !jakarta/integrationtest/java/modules/orm-coordination-outbox-polling-elasticsearch \
'''
if ( !buildEnv.slow ) {
// If the DB testing is reasonably fast, we'll also test ORM6 and Jakarta
artifactsToTest += ['hibernate-search-mapper-orm-orm6', 'hibernate-search-mapper-orm-jakarta']
mavenBuildAdditionalArgs += ''' \
-pl !orm6/documentation \
-pl !orm6/integrationtest/mapper/orm-batch-jsr352 \
-pl !orm6/integrationtest/v5migrationhelper/orm \
-pl !orm6/integrationtest/java/modules/orm-lucene \
-pl !orm6/integrationtest/java/modules/orm-elasticsearch \
-pl !orm6/integrationtest/java/modules/orm-coordination-outbox-polling-elasticsearch \
-pl !jakarta/documentation \
-pl !jakarta/integrationtest/mapper/orm-batch-jsr352 \
-pl !jakarta/integrationtest/v5migrationhelper/orm \
-pl !jakarta/integrationtest/java/modules/orm-lucene \
-pl !jakarta/integrationtest/java/modules/orm-elasticsearch \
-pl !jakarta/integrationtest/java/modules/orm-coordination-outbox-polling-elasticsearch \
'''
}
String mavenDockerArgs = ""
def startedContainers = false
// DB2 setup is super slow (~5 to 15 minutes).
Expand Down Expand Up @@ -546,11 +554,7 @@ stage('Non-default environments') {
-P$buildEnv.mavenProfile \
$mavenBuildAdditionalArgs \
""",
[
'hibernate-search-mapper-orm',
'hibernate-search-mapper-orm-orm6',
'hibernate-search-mapper-orm-jakarta'
]
artifactsToTest
}
finally {
if ( startedContainers ) {
Expand Down Expand Up @@ -734,6 +738,7 @@ class CompilerBuildEnvironment extends BuildEnvironment {
class DatabaseBuildEnvironment extends BuildEnvironment {
String dbName
String mavenProfile
boolean slow
@Override
String getTag() { "database-$dbName" }
}
Expand Down

0 comments on commit 1436147

Please sign in to comment.