Skip to content

Commit

Permalink
HSEARCH-4173 Separate the test profiles for Elasticsearch 6.7 and 6.8
Browse files Browse the repository at this point in the history
Signed-off-by: Yoann Rodière <yoann@hibernate.org>
  • Loading branch information
yrodiere committed Mar 2, 2021
1 parent 7549bd6 commit f1aa63c
Show file tree
Hide file tree
Showing 7 changed files with 102 additions and 48 deletions.
3 changes: 2 additions & 1 deletion CONTRIBUTING.md
Expand Up @@ -198,7 +198,8 @@ The following profiles are available:
* `elasticsearch-6.0` for 6.0.x to 6.2.x
* `elasticsearch-6.3` for 6.3.x
* `elasticsearch-6.4` for 6.4.x to 6.6.x
* `elasticsearch-6.7` for 6.7 and later 6.x
* `elasticsearch-6.7` for 6.7.x
* `elasticsearch-6.8` for 6.8 and later 6.x
* `elasticsearch-7.0` for 7.0 to 7.2
* `elasticsearch-7.3` for 7.3 to 7.6
* `elasticsearch-7.7` for 7.7
Expand Down
9 changes: 7 additions & 2 deletions Jenkinsfile
Expand Up @@ -220,7 +220,12 @@ stage('Configure') {
new EsLocalBuildEnvironment(versionRange: '[6.4,6.7)', mavenProfile: 'elasticsearch-6.4',
jdkTool: 'OpenJDK 8 Latest',
condition: TestCondition.AFTER_MERGE),
new EsLocalBuildEnvironment(versionRange: '[6.7,7.0)', mavenProfile: 'elasticsearch-6.7',
// Not testing 6.7 to make the build quicker.
// The only difference with 6.8+ is a bug in field sorts that is already present in earlier versions.
new EsLocalBuildEnvironment(versionRange: '[6.7,6.8)', mavenProfile: 'elasticsearch-6.7',
jdkTool: 'OpenJDK 8 Latest',
condition: TestCondition.ON_DEMAND),
new EsLocalBuildEnvironment(versionRange: '[6.8,7.0)', mavenProfile: 'elasticsearch-6.8',
jdkTool: 'OpenJDK 8 Latest',
condition: TestCondition.AFTER_MERGE),
// Not testing 7.0/7.1/7.2 to make the build quicker.
Expand Down Expand Up @@ -271,7 +276,7 @@ stage('Configure') {
condition: TestCondition.AFTER_MERGE),
new EsAwsBuildEnvironment(version: '6.7', mavenProfile: 'elasticsearch-6.7',
condition: TestCondition.AFTER_MERGE),
new EsAwsBuildEnvironment(version: '6.8', mavenProfile: 'elasticsearch-6.7',
new EsAwsBuildEnvironment(version: '6.8', mavenProfile: 'elasticsearch-6.8',
condition: TestCondition.AFTER_MERGE),
new EsAwsBuildEnvironment(version: '7.1', mavenProfile: 'elasticsearch-7.0',
condition: TestCondition.AFTER_MERGE),
Expand Down
12 changes: 11 additions & 1 deletion integrationtest/backend/elasticsearch/pom.xml
Expand Up @@ -170,7 +170,7 @@
</properties>
</profile>

<!-- Elasticsearch 6.7 to 6.8 test environment -->
<!-- Elasticsearch 6.7 test environment -->
<profile>
<id>elasticsearch-6.7</id>
<properties>
Expand All @@ -180,6 +180,16 @@
</properties>
</profile>

<!-- Elasticsearch 6.8 test environment -->
<profile>
<id>elasticsearch-6.8</id>
<properties>
<failsafe.excludedGroups.elasticsearch.version>
<!-- Nothing here -->
</failsafe.excludedGroups.elasticsearch.version>
</properties>
</profile>

<!-- Elasticsearch 7.0 to 7.2 test environment -->
<profile>
<id>elasticsearch-7.0</id>
Expand Down
28 changes: 26 additions & 2 deletions parents/integrationtest/pom.xml
Expand Up @@ -411,11 +411,11 @@
</build>
</profile>

<!-- Elasticsearch 6.7 to 6.8 test environment -->
<!-- Elasticsearch 6.7 test environment -->
<profile>
<id>elasticsearch-6.7</id>
<properties>
<test.elasticsearch.connection.version>${version.org.elasticsearch.latest-6.8}</test.elasticsearch.connection.version>
<test.elasticsearch.connection.version>${version.org.elasticsearch.latest-6.7}</test.elasticsearch.connection.version>
<test.elasticsearch.testdialect>org.hibernate.search.util.impl.integrationtest.backend.elasticsearch.dialect.Elasticsearch67TestDialect</test.elasticsearch.testdialect>
</properties>
<build>
Expand All @@ -435,6 +435,30 @@
</build>
</profile>

<!-- Elasticsearch 6.8 test environment -->
<profile>
<id>elasticsearch-6.8</id>
<properties>
<test.elasticsearch.connection.version>${version.org.elasticsearch.latest-6.8}</test.elasticsearch.connection.version>
<test.elasticsearch.testdialect>org.hibernate.search.util.impl.integrationtest.backend.elasticsearch.dialect.Elasticsearch68TestDialect</test.elasticsearch.testdialect>
</properties>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>com.github.alexcojocaru</groupId>
<artifactId>elasticsearch-maven-plugin</artifactId>
<version>${version.com.github.alexcojocaru.elasticsearch.plugin}</version>
<configuration>
<pathConf>${project.build.directory}/elasticsearch-maven-plugin/6.0/configuration/</pathConf>
<pathInitScript>${project.build.directory}/elasticsearch-maven-plugin/6.0/init/init.script</pathInitScript>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>

<!-- Elasticsearch 7.0 to 7.2 test environment -->
<profile>
<id>elasticsearch-7.0</id>
Expand Down
1 change: 1 addition & 0 deletions pom.xml
Expand Up @@ -219,6 +219,7 @@
<version.org.elasticsearch.latest-7.6>7.6.2</version.org.elasticsearch.latest-7.6>
<version.org.elasticsearch.latest-7.2>7.2.1</version.org.elasticsearch.latest-7.2>
<version.org.elasticsearch.latest-6.8>6.8.9</version.org.elasticsearch.latest-6.8>
<version.org.elasticsearch.latest-6.7>6.7.2</version.org.elasticsearch.latest-6.7>
<version.org.elasticsearch.latest-6.6>6.6.2</version.org.elasticsearch.latest-6.6>
<version.org.elasticsearch.latest-6.3>6.3.2</version.org.elasticsearch.latest-6.3>
<version.org.elasticsearch.latest-6.2>6.2.4</version.org.elasticsearch.latest-6.2>
Expand Down
Expand Up @@ -6,48 +6,8 @@
*/
package org.hibernate.search.util.impl.integrationtest.backend.elasticsearch.dialect;

import java.util.Arrays;
import java.util.List;
import java.util.Optional;
public class Elasticsearch67TestDialect extends Elasticsearch68TestDialect {

import org.hibernate.search.backend.elasticsearch.client.impl.Paths;
import org.hibernate.search.backend.elasticsearch.util.spi.URLEncodedString;
// TODO HSEARCH-4173 add behavior specific to 6.7 here

@SuppressWarnings("deprecation") // We use Paths.DOC on purpose
public class Elasticsearch67TestDialect extends Elasticsearch70TestDialect {

@Override
public boolean isEmptyMappingPossible() {
return true;
}

@Override
public URLEncodedString getTypeKeywordForNonMappingApi() {
return Paths.DOC;
}

@Override
public Optional<URLEncodedString> getTypeNameForMappingAndBulkApi() {
return Optional.of( Paths.DOC );
}

@Override
public Boolean getIncludeTypeNameParameterForMappingApi() {
return true;
}

@Override
public List<String> getAllLocalDateDefaultMappingFormats() {
return Arrays.asList( "yyyy-MM-dd", "yyyyyyyyy-MM-dd" );
}

@Override
public boolean zonedDateTimeDocValueHasUTCZoneId() {
return true;
}

@Override
public boolean supportsSkipOrLimitingTotalHitCount() {
return false;
}
}
@@ -0,0 +1,53 @@
/*
* Hibernate Search, full-text search for your domain model
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.search.util.impl.integrationtest.backend.elasticsearch.dialect;

import java.util.Arrays;
import java.util.List;
import java.util.Optional;

import org.hibernate.search.backend.elasticsearch.client.impl.Paths;
import org.hibernate.search.backend.elasticsearch.util.spi.URLEncodedString;

@SuppressWarnings("deprecation") // We use Paths.DOC on purpose
public class Elasticsearch68TestDialect extends Elasticsearch70TestDialect {

@Override
public boolean isEmptyMappingPossible() {
return true;
}

@Override
public URLEncodedString getTypeKeywordForNonMappingApi() {
return Paths.DOC;
}

@Override
public Optional<URLEncodedString> getTypeNameForMappingAndBulkApi() {
return Optional.of( Paths.DOC );
}

@Override
public Boolean getIncludeTypeNameParameterForMappingApi() {
return true;
}

@Override
public List<String> getAllLocalDateDefaultMappingFormats() {
return Arrays.asList( "yyyy-MM-dd", "yyyyyyyyy-MM-dd" );
}

@Override
public boolean zonedDateTimeDocValueHasUTCZoneId() {
return true;
}

@Override
public boolean supportsSkipOrLimitingTotalHitCount() {
return false;
}
}

0 comments on commit f1aa63c

Please sign in to comment.