diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 080b404c4..ce38c5c8b 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -2,7 +2,7 @@ # For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven # Tests disabled due to flakiness with under resourced github test machines. Confluent Jira works fine. Will fix later. -name: CI compile only - Java 8 (IT disabled atm, unit tests only) +name: Java 8 (unit tests only) on: push: @@ -12,7 +12,26 @@ on: jobs: build: - + strategy: + fail-fast: false + matrix: + # Why not? because we can. + # 2.0.1, 2.1.1, 2.2.2, 2.3.1, 2.4.1 don't work - needs zstd and some kafka client libs. + # Doesn't mean it couldn't be modified slightly to work... + ak: [2.5.1, 2.6.1] + jdk: ['-P jvm8-release -Djvm8.location=/opt/hostedtoolcache/jdk/8.0.282/x64', ''] + experimental: [false] + name: ["Stable AK version"] + include: + - ak: "'[2.4.1,2.5)'" # currently failing + experimental: true + name: "Oldest AK breaking version 2.4.1+ (below 2.5.0) expected to fail" + - ak: "'[2.7.0,4)'" # currently failing + experimental: true + name: "Newest AK version 2.7.0+ expected to fail" + + continue-on-error: ${{ matrix.experimental }} + name: "${{ matrix.name }} (AK: ${{ matrix.ak }}) experimental? ${{ matrix.experimental }}" runs-on: ubuntu-latest steps: @@ -71,8 +90,9 @@ jobs: key: ${{ runner.os }}-m2 restore-keys: ${{ runner.os }}-m2 - - name: Test with Maven on Java 8 - run: mvn -B package -P jvm8-release -Djvm8.location=/opt/hostedtoolcache/jdk/8.0.282/x64 + - name: Test with Maven + #run: mvn -B package -P jvm8-release -Djvm8.location=/opt/hostedtoolcache/jdk/8.0.282/x64 -Dkafka.version=${{ matrix.ak }} + run: mvn -B package ${{ matrix.jdk }} -Dkafka.version=${{ matrix.ak }} # - name: Test with Maven on Java 9 # run: mvn -B package -P jvm9-release -Djvm9.location=/opt/hostedtoolcache/jdk/9.0.7/x64 # - name: Test with Maven on Java diff --git a/README.adoc b/README.adoc index 8dbeba20f..9a779ca07 100644 --- a/README.adoc +++ b/README.adoc @@ -753,6 +753,9 @@ See what profiles are active:: See what plugins or dependencies are available to be updated:: `mvn versions:display-plugin-updates versions:display-property-updates versions:display-dependency-updates` +Run a single unit test:: +`mvn -Dtest=TestCircle test` + Run a specific integration test method in a submodule project, skipping unit tests:: `mvn -Dit.test=TransactionAndCommitModeTest#testLowMaxPoll -DskipUTs=true verify -DfailIfNoTests=false --projects parallel-consumer-core` diff --git a/parallel-consumer-core/src/test/java/io/confluent/csid/utils/JavaEnvTest.java b/parallel-consumer-core/src/test/java/io/confluent/csid/utils/JavaEnvTest.java new file mode 100644 index 000000000..e0115f2d9 --- /dev/null +++ b/parallel-consumer-core/src/test/java/io/confluent/csid/utils/JavaEnvTest.java @@ -0,0 +1,23 @@ +package io.confluent.csid.utils; + +import lombok.extern.slf4j.Slf4j; +import org.assertj.core.presentation.StandardRepresentation; +import org.junit.jupiter.api.Test; +import org.slf4j.helpers.MessageFormatter; + +import java.util.Map; +import java.util.Properties; + +import static io.confluent.csid.utils.StringTestUtils.pretty; + +@Slf4j +class JavaEnvTest { + + /** + * Used to check the java environment at runtime + */ + @Test + void checkJavaEnvironment() { + log.error("Java all env: {}", pretty(System.getProperties().entrySet())); + } +} diff --git a/parallel-consumer-core/src/test/java/io/confluent/csid/utils/StringTestUtils.java b/parallel-consumer-core/src/test/java/io/confluent/csid/utils/StringTestUtils.java new file mode 100644 index 000000000..2d2adf3b3 --- /dev/null +++ b/parallel-consumer-core/src/test/java/io/confluent/csid/utils/StringTestUtils.java @@ -0,0 +1,14 @@ +package io.confluent.csid.utils; + +import lombok.experimental.UtilityClass; +import org.assertj.core.presentation.StandardRepresentation; + +@UtilityClass +public class StringTestUtils { + + public static final StandardRepresentation STANDARD_REPRESENTATION = new StandardRepresentation(); + + public static String pretty(Object properties) { + return STANDARD_REPRESENTATION.toStringOf(properties); + } +} diff --git a/pom.xml b/pom.xml index 5fe3fb9f7..fc19003eb 100644 --- a/pom.xml +++ b/pom.xml @@ -97,7 +97,7 @@ 1.7.30 - 2.5.0 + 2.5.1 0.1.3 @@ -645,6 +645,18 @@ + + org.apache.maven.plugins + maven-dependency-plugin + + + initialize + + tree + + + + diff --git a/src/docs/README.adoc b/src/docs/README.adoc index 3a01ed9e4..21863c54b 100644 --- a/src/docs/README.adoc +++ b/src/docs/README.adoc @@ -675,6 +675,9 @@ See what profiles are active:: See what plugins or dependencies are available to be updated:: `mvn versions:display-plugin-updates versions:display-property-updates versions:display-dependency-updates` +Run a single unit test:: +`mvn -Dtest=TestCircle test` + Run a specific integration test method in a submodule project, skipping unit tests:: `mvn -Dit.test=TransactionAndCommitModeTest#testLowMaxPoll -DskipUTs=true verify -DfailIfNoTests=false --projects parallel-consumer-core`