Skip to content

Commit

Permalink
HSEARCH-5094 Use distinct directories for reports when executing fail…
Browse files Browse the repository at this point in the history
…safe multiple times

So that the goal is cacheable for Develocity
  • Loading branch information
yrodiere committed Mar 4, 2024
1 parent 260720d commit b0f75d9
Show file tree
Hide file tree
Showing 11 changed files with 261 additions and 22 deletions.
2 changes: 1 addition & 1 deletion .empty/README.md
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Do not move, rename or remove this directory, it *is* useful. See property 'rootProject.emptySubdirectory' in the parent POM.
Do not move, rename or remove this directory or its content, it *is* useful. See property 'rootProject.empty.directory' in the parent POM.
Empty file added .empty/directory/.do-not-remove
Empty file.
8 changes: 8 additions & 0 deletions .empty/failsafe-summary.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<failsafe-summary xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/failsafe-summary.xsd" result="null" timeout="false">
<completed>0</completed>
<errors>0</errors>
<failures>0</failures>
<skipped>0</skipped>
<failureMessage xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
</failsafe-summary>
2 changes: 1 addition & 1 deletion Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -991,7 +991,7 @@ String toTestEnvironmentArgs(BuildEnvironment buildEnv) {
// Add a suffix to tests to distinguish between different executions
// of the same test in different environments in reports
def testSuffix = buildEnv.tag.replaceAll('[^a-zA-Z0-9_\\-+]+', '_')
args += "-Dsurefire.environment=$testSuffix"
args += " -Dsurefire.environment=$testSuffix"

if ( ! (buildEnv instanceof JdkBuildEnvironment) ) {
return args;
Expand Down
2 changes: 1 addition & 1 deletion build/parents/internal/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
consider all sources as tests during Sonar analysis.
This is important because some analysis rules do not apply to test code.
-->
<sonar.sources>${rootProject.emptySubdirectory}</sonar.sources>
<sonar.sources>${rootProject.empty.directory}</sonar.sources>
<sonar.tests>${project.basedir}/src</sonar.tests>
</properties>

Expand Down
48 changes: 46 additions & 2 deletions documentation/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,11 @@
<description>Hibernate Search reference documentation</description>

<properties>
<failsafe.lucene.reportsDirectory>${project.build.directory}/failsafe-reports/lucene</failsafe.lucene.reportsDirectory>
<failsafe.lucene.summaryFile>${failsafe.lucene.reportsDirectory}/failsafe-summary.xml</failsafe.lucene.summaryFile>
<failsafe.elasticsearch.reportsDirectory>${project.build.directory}/failsafe-reports/elasticsearch</failsafe.elasticsearch.reportsDirectory>
<failsafe.elasticsearch.summaryFile>${failsafe.elasticsearch.reportsDirectory}/failsafe-summary.xml</failsafe.elasticsearch.summaryFile>

<asciidoctor.base-output-dir>${project.build.directory}/asciidoctor/</asciidoctor.base-output-dir>
<asciidoctor.theme-dir>${project.build.directory}/hibernate-asciidoctor-theme</asciidoctor.theme-dir>
<asciidoctor.aggregated-resources-dir>${project.build.directory}/aggregated-resources</asciidoctor.aggregated-resources-dir>
Expand Down Expand Up @@ -122,7 +127,9 @@
</goals>
<configuration>
<skip>${test.lucene.skip}</skip>
<reportNameSuffix>${surefire.reportNameSuffix}-lucene</reportNameSuffix>
<reportNameSuffix>${surefire.executionIdentifier}-lucene</reportNameSuffix>
<reportsDirectory>${failsafe.lucene.reportsDirectory}</reportsDirectory>
<summaryFile>${failsafe.lucene.summaryFile}</summaryFile>
<classpathDependencyExcludes>
<classpathDependencyExclude>org.hibernate.search:hibernate-search-backend-elasticsearch</classpathDependencyExclude>
</classpathDependencyExcludes>
Expand All @@ -141,7 +148,9 @@
</goals>
<configuration>
<skip>${test.elasticsearch.skip}</skip>
<reportNameSuffix>${surefire.reportNameSuffix}-elasticsearch</reportNameSuffix>
<reportNameSuffix>${surefire.executionIdentifier}-elasticsearch</reportNameSuffix>
<reportsDirectory>${failsafe.elasticsearch.reportsDirectory}</reportsDirectory>
<summaryFile>${failsafe.elasticsearch.summaryFile}</summaryFile>
<classpathDependencyExcludes>
<classpathDependencyExclude>org.hibernate.search:hibernate-search-backend-lucene</classpathDependencyExclude>
</classpathDependencyExcludes>
Expand All @@ -158,6 +167,12 @@
<goals>
<goal>verify</goal>
</goals>
<configuration>
<summaryFiles>
<summaryFile>${failsafe.lucene.summaryFile}</summaryFile>
<summaryFile>${failsafe.elasticsearch.summaryFile}</summaryFile>
</summaryFiles>
</configuration>
</execution>
</executions>
</plugin>
Expand Down Expand Up @@ -382,5 +397,34 @@
</plugins>
</build>
</profile>
<!--
The "verify" goal fails if a file specified in "summaryFiles" doesn't exist,
and that's exactly what happens when we skip an "integration-test" goal.
See https://github.com/apache/maven-surefire/blob/2fed802397f8c7de4cfc72f49ab4565e72f7aab7/maven-failsafe-plugin/src/main/java/org/apache/maven/plugin/failsafe/VerifyMojo.java#L179-L183
-->
<profile>
<id>lucene-test-skip</id>
<activation>
<property>
<name>test.lucene.skip</name>
<value>true</value>
</property>
</activation>
<properties>
<failsafe.lucene.summaryFile>${rootProject.empty.failsafe.summaryFile}</failsafe.lucene.summaryFile>
</properties>
</profile>
<profile>
<id>elasticsearch-test-skip</id>
<activation>
<property>
<name>test.elasticsearch.skip</name>
<value>true</value>
</property>
</activation>
<properties>
<failsafe.elasticsearch.summaryFile>${rootProject.empty.failsafe.summaryFile}</failsafe.elasticsearch.summaryFile>
</properties>
</profile>
</profiles>
</project>
65 changes: 61 additions & 4 deletions integrationtest/mapper/orm-jakarta-batch/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,15 @@
${test.elasticsearch.connection.jvm.args}
${test.weld.jvm.args}
</surefire.jvm.args.module>

<failsafe.lucene-jbatch.reportsDirectory>${project.build.directory}/failsafe-reports/lucene-jbatch</failsafe.lucene-jbatch.reportsDirectory>
<failsafe.lucene-jbatch.summaryFile>${failsafe.lucene-jbatch.reportsDirectory}/failsafe-summary.xml</failsafe.lucene-jbatch.summaryFile>
<failsafe.lucene-jberet.reportsDirectory>${project.build.directory}/failsafe-reports/lucene-jberet</failsafe.lucene-jberet.reportsDirectory>
<failsafe.lucene-jberet.summaryFile>${failsafe.lucene-jberet.reportsDirectory}/failsafe-summary.xml</failsafe.lucene-jberet.summaryFile>
<failsafe.elasticsearch-jbatch.reportsDirectory>${project.build.directory}/failsafe-reports/elasticsearch-jbatch</failsafe.elasticsearch-jbatch.reportsDirectory>
<failsafe.elasticsearch-jbatch.summaryFile>${failsafe.elasticsearch-jbatch.reportsDirectory}/failsafe-summary.xml</failsafe.elasticsearch-jbatch.summaryFile>
<failsafe.elasticsearch-jberet.reportsDirectory>${project.build.directory}/failsafe-reports/elasticsearch-jberet</failsafe.elasticsearch-jberet.reportsDirectory>
<failsafe.elasticsearch-jberet.summaryFile>${failsafe.elasticsearch-jberet.reportsDirectory}/failsafe-summary.xml</failsafe.elasticsearch-jberet.summaryFile>
</properties>

<dependencies>
Expand Down Expand Up @@ -92,7 +101,9 @@
<goal>integration-test</goal>
</goals>
<configuration>
<reportNameSuffix>${surefire.reportNameSuffix}-lucene-jbatch</reportNameSuffix>
<reportNameSuffix>${surefire.executionIdentifier}-lucene-jbatch</reportNameSuffix>
<reportsDirectory>${failsafe.lucene-jbatch.reportsDirectory}</reportsDirectory>
<summaryFile>${failsafe.lucene-jbatch.summaryFile}</summaryFile>
<classpathDependencyExcludes>
<classpathDependencyExclude>org.hibernate.search:hibernate-search-backend-elasticsearch</classpathDependencyExclude>
<classpathDependencyExclude>org.hibernate.search:hibernate-search-util-internal-integrationtest-jberet-se</classpathDependencyExclude>
Expand All @@ -111,7 +122,9 @@
<goal>integration-test</goal>
</goals>
<configuration>
<reportNameSuffix>${surefire.reportNameSuffix}-lucene-jberet</reportNameSuffix>
<reportNameSuffix>${surefire.executionIdentifier}-lucene-jberet</reportNameSuffix>
<reportsDirectory>${failsafe.lucene-jberet.reportsDirectory}</reportsDirectory>
<summaryFile>${failsafe.lucene-jberet.summaryFile}</summaryFile>
<classpathDependencyExcludes>
<classpathDependencyExclude>org.hibernate.search:hibernate-search-backend-elasticsearch</classpathDependencyExclude>
<classpathDependencyExclude>org.hibernate.search:hibernate-search-util-internal-integrationtest-jbatch-runtime</classpathDependencyExclude>
Expand All @@ -130,7 +143,9 @@
</goals>
<configuration>
<skip>${test.elasticsearch.skip}</skip>
<reportNameSuffix>${surefire.reportNameSuffix}-elasticsearch-jbatch</reportNameSuffix>
<reportNameSuffix>${surefire.executionIdentifier}-elasticsearch-jbatch</reportNameSuffix>
<reportsDirectory>${failsafe.elasticsearch-jbatch.reportsDirectory}</reportsDirectory>
<summaryFile>${failsafe.elasticsearch-jbatch.summaryFile}</summaryFile>
<classpathDependencyExcludes>
<classpathDependencyExclude>org.hibernate.search:hibernate-search-backend-lucene</classpathDependencyExclude>
<classpathDependencyExclude>org.hibernate.search:hibernate-search-util-internal-integrationtest-jberet-se</classpathDependencyExclude>
Expand All @@ -150,7 +165,9 @@
</goals>
<configuration>
<skip>${test.elasticsearch.skip}</skip>
<reportNameSuffix>${surefire.reportNameSuffix}-elasticsearch-jberet</reportNameSuffix>
<reportNameSuffix>${surefire.executionIdentifier}-elasticsearch-jberet</reportNameSuffix>
<reportsDirectory>${failsafe.elasticsearch-jberet.reportsDirectory}</reportsDirectory>
<summaryFile>${failsafe.elasticsearch-jberet.summaryFile}</summaryFile>
<classpathDependencyExcludes>
<classpathDependencyExclude>org.hibernate.search:hibernate-search-backend-lucene</classpathDependencyExclude>
<classpathDependencyExclude>org.hibernate.search:hibernate-search-util-internal-integrationtest-jbatch-runtime</classpathDependencyExclude>
Expand All @@ -167,13 +184,52 @@
<goals>
<goal>verify</goal>
</goals>
<configuration>
<summaryFiles>
<summaryFile>${failsafe.lucene-jbatch.summaryFile}</summaryFile>
<summaryFile>${failsafe.lucene-jberet.summaryFile}</summaryFile>
<summaryFile>${failsafe.elasticsearch-jbatch.summaryFile}</summaryFile>
<summaryFile>${failsafe.elasticsearch-jberet.summaryFile}</summaryFile>
</summaryFiles>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>

<profiles>
<!--
The "verify" goal fails if a file specified in "summaryFiles" doesn't exist,
and that's exactly what happens when we skip an "integration-test" goal.
See https://github.com/apache/maven-surefire/blob/2fed802397f8c7de4cfc72f49ab4565e72f7aab7/maven-failsafe-plugin/src/main/java/org/apache/maven/plugin/failsafe/VerifyMojo.java#L179-L183
-->
<profile>
<id>lucene-test-skip</id>
<activation>
<property>
<name>test.lucene.skip</name>
<value>true</value>
</property>
</activation>
<properties>
<failsafe.lucene-jbatch.summaryFile>${rootProject.empty.failsafe.summaryFile}</failsafe.lucene-jbatch.summaryFile>
<failsafe.lucene-jberet.summaryFile>${rootProject.empty.failsafe.summaryFile}</failsafe.lucene-jberet.summaryFile>
</properties>
</profile>
<profile>
<id>elasticsearch-test-skip</id>
<activation>
<property>
<name>test.elasticsearch.skip</name>
<value>true</value>
</property>
</activation>
<properties>
<failsafe.elasticsearch-jbatch.summaryFile>${rootProject.empty.failsafe.summaryFile}</failsafe.elasticsearch-jbatch.summaryFile>
<failsafe.elasticsearch-jberet.summaryFile>${rootProject.empty.failsafe.summaryFile}</failsafe.elasticsearch-jberet.summaryFile>
</properties>
</profile>
<profile>
<id>amazon-opensearch-serverless</id>
<activation>
Expand All @@ -189,6 +245,7 @@
https://hibernate.atlassian.net/browse/HSEARCH-4930
-->
<test.elasticsearch.skip>true</test.elasticsearch.skip>
<failsafe.elasticsearch.summaryFile>${rootProject.empty.failsafe.summaryFile}</failsafe.elasticsearch.summaryFile>
</properties>
</profile>
</profiles>
Expand Down

0 comments on commit b0f75d9

Please sign in to comment.