Skip to content

feature: Enhance e2e Testing#727

Open
LegendPei wants to merge 11 commits into
apache:masterfrom
LegendPei:feat/e2e-environment-matrix
Open

feature: Enhance e2e Testing#727
LegendPei wants to merge 11 commits into
apache:masterfrom
LegendPei:feat/e2e-environment-matrix

Conversation

@LegendPei

@LegendPei LegendPei commented May 21, 2026

Copy link
Copy Markdown

Ⅰ. Describe what this PR did

Introduce an E2E environment compatibility matrix for Seata samples.

This PR adds CI support for running the existing E2E test suite against different environment combinations, including:

  • Different build/runtime JDK versions
  • Different MySQL images
  • Different MySQL connector versions
  • Different system architectures, including linux/amd64 and linux/arm64

Main changes include:

  • Add a GitHub Actions E2E matrix with 6 representative combinations.
  • Allow CI to inject the runtime JDK Docker image through E2E_JDK_BASE_IMAGE.
  • Allow CI to override the MySQL Docker image through E2E_MYSQL_IMAGE.
  • Extract MySQL connector versions into Maven properties and allow CI override through E2E_MYSQL_CONNECTOR_VERSION.
  • Allow Docker build/compose platform override through E2E_DOCKER_PLATFORM.
  • Fix the JDK 11 runtime image mapping.
  • Add MySQL 8 native password compatibility for E2E containers.
  • Support native ARM runners by using Docker Compose v2 through a docker-compose wrapper.
  • Stabilize E2E result file paths by using a fixed /seata-e2e working directory and absolute result-file paths.
  • Add required JDK module --add-opens options for old Spring Boot / Netty based samples running on JDK 17.

Ⅱ. Does this pull request fix one issue?

fixes apache/incubator-seata#7178

Ⅲ. Why don't you add test cases (unit test/integration test)?

This PR updates the E2E test infrastructure itself rather than adding new business logic.

The coverage is provided by the GitHub Actions E2E matrix, which reuses the existing Seata samples and E2E cases with different CI-provided runtime configurations.

Ⅳ. Describe how to verify it

The PR can be verified by running the GitHub Actions workflow Seata E2E Test.

The following matrix jobs passed in my fork:

  • E2E jdk8-mysql57-amd64
  • E2E jdk11-mysql57-amd64
  • E2E jdk17-mysql57-amd64
  • E2E jdk11-mysql80-amd64
  • E2E jdk17-mysql80-amd64
  • E2E jdk17-mysql80-arm64

Local verification performed:

cd e2e-test
mvn -q -pl e2e-test-builder,e2e-test-runner -am -DskipTests package

Ⅴ. Special notes for reviews

Fixes apache/incubator-seata#7178

@LegendPei LegendPei changed the title Feat/e2e environment matrix feature: Enhance e2e Testing May 21, 2026
@LegendPei

Copy link
Copy Markdown
Author

I have run CI in my repository:LegendPei#1

@LegendPei

Copy link
Copy Markdown
Author

@slievrly Would you have time to review it?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Enhance E2E Testing in seata-samples with Multiple Environment Combinations

1 participant