This is an automated email from the ASF dual-hosted git repository.
slievrly pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-seata-samples.git
The following commit(s) were added to refs/heads/master by this push:
new b2805797 feature: Enhance e2e Testing (#727)
b2805797 is described below
commit b28057970d43df5050971713dd6143892062f32a
Author: legendpei <[email protected]>
AuthorDate: Mon Jul 27 10:22:00 2026 +0800
feature: Enhance e2e Testing (#727)
---
.github/workflows/E2E.yml | 229 +++++++++++----------
at-sample/at-api/pom.xml | 3 +-
at-sample/at-api/seata-e2e.yaml | 4 +-
.../dubbo-samples-seata-account/pom.xml | 1 +
.../dubbo-samples-seata-order/pom.xml | 1 +
.../dubbo-samples-seata-stock/pom.xml | 1 +
at-sample/dubbo-samples-seata/pom.xml | 1 +
at-sample/spring-dubbo-seata/pom.xml | 1 +
at-sample/spring-dubbo-seata/seata-e2e.yaml | 4 +-
.../spring-dubbo-seata-account/pom.xml | 2 +-
.../spring-dubbo-seata-business/pom.xml | 2 +-
.../spring-dubbo-seata-order/pom.xml | 2 +-
.../spring-dubbo-seata-storage/pom.xml | 2 +-
at-sample/spring-seata/pom.xml | 3 +-
at-sample/spring-seata/seata-e2e.yaml | 4 +-
at-sample/springboot-dubbo-seata/pom.xml | 1 +
.../springboot-dubbo-seata-account/pom.xml | 2 +-
.../springboot-dubbo-seata-order/pom.xml | 2 +-
.../springboot-dubbo-seata-storage/pom.xml | 2 +-
at-sample/springboot-mybatis-seata/pom.xml | 3 +-
at-sample/springboot-mybatis-seata/seata-e2e.yaml | 4 +-
at-sample/springboot-seata/pom.xml | 3 +-
at-sample/springboot-seata/seata-e2e.yaml | 4 +-
.../org/apache/seata/builder/ImageBuilder.java | 17 +-
.../org/apache/seata/config/ConfigConstants.java | 13 +-
.../seata/generator/DockerComposeGenerator.java | 52 +++++
.../java/org/apache/seata/model/DockerService.java | 18 ++
.../resources/template/application-dockerFile.ftl | 20 +-
.../src/main/resources/template/dockercompose.ftl | 18 ++
.../src/main/resources/template/jar-dockerFile.ftl | 9 +-
e2e-test/scripts/prepare-test.sh | 5 +-
e2e-test/scripts/test-run.sh | 5 +-
saga-annotation-sample/seata-e2e.yaml | 4 +-
saga-sample/spring-seata-dubbo-saga/seata-e2e.yaml | 6 +-
saga-sample/spring-seata-saga/seata-e2e.yaml | 6 +-
tcc-sample/spring-dubbo-seata-tcc/seata-e2e.yaml | 6 +-
.../springboot-sofarpc-seata-tcc/seata-e2e.yaml | 6 +-
xa-sample/springboot-feign-seata-xa/pom.xml | 1 +
.../springboot-feign-seata-account/pom.xml | 2 +-
.../springboot-feign-seata-business/pom.xml | 2 +-
.../springboot-feign-seata-order/pom.xml | 2 +-
.../springboot-feign-seata-storage/pom.xml | 2 +-
42 files changed, 312 insertions(+), 163 deletions(-)
diff --git a/.github/workflows/E2E.yml b/.github/workflows/E2E.yml
index fa1d5ca8..b9e68bc7 100644
--- a/.github/workflows/E2E.yml
+++ b/.github/workflows/E2E.yml
@@ -1,79 +1,102 @@
-# For most projects, this workflow file will not need changing; you simply need
-# to commit it to your repository.
-#
-# You may wish to alter this file to override the set of languages analyzed,
-# or to provide custom queries or build logic.
-#
-# ******** NOTE ********
-# We have attempted to detect the languages in your repository. Please check
-# the `language` matrix defined below to confirm you have the correct set of
-# supported CodeQL languages.
-#
name: "Seata E2E Test"
-on: [ push,pull_request ]
+on: [ push, pull_request, workflow_dispatch ]
jobs:
run_e2e:
- name: Run E2E Test (Build JDK${{ matrix.build_jdk }}, Docker JDK${{
matrix.docker_jdk }})
+ name: E2E ${{ matrix.name }}
runs-on: ${{ matrix.os }}
+ continue-on-error: ${{ matrix.experimental }}
env:
DEBIAN_FRONTEND: noninteractive
strategy:
- matrix:
- os: [ ubuntu-latest ]
- # Build JDK version - used for Maven compilation
- build_jdk: [ 8, 11, 17 ]
- # Docker JDK version - used in Docker images for runtime
- docker_jdk: [ 8, 11, 17 ]
- # Exclude some combinations to reduce test time
- exclude:
- # When building with JDK 8, skip testing with JDK 17
- - build_jdk: 8
- docker_jdk: 17
- - build_jdk: 8
- docker_jdk: 11
- - build_jdk: 11
- docker_jdk: 8
- - build_jdk: 11
- docker_jdk: 17
- - build_jdk: 17
- docker_jdk: 8
- - build_jdk: 17
- docker_jdk: 11
fail-fast: false
max-parallel: 3
+ matrix:
+ include:
+ - name: jdk8-mysql57-amd64
+ os: ubuntu-latest
+ build_jdk: 8
+ runtime_jdk_image: eclipse-temurin:8-jdk-alpine
+ mysql_image: mysql:5.7
+ mysql_connector_version: 8.0.31
+ platform: linux/amd64
+ experimental: false
+ - name: jdk11-mysql57-amd64
+ os: ubuntu-latest
+ build_jdk: 11
+ runtime_jdk_image: eclipse-temurin:11-jdk-alpine
+ mysql_image: mysql:5.7
+ mysql_connector_version: 8.0.31
+ platform: linux/amd64
+ experimental: false
+ - name: jdk17-mysql57-amd64
+ os: ubuntu-latest
+ build_jdk: 17
+ runtime_jdk_image: eclipse-temurin:17-jdk-alpine
+ mysql_image: mysql:5.7
+ mysql_connector_version: 8.0.31
+ platform: linux/amd64
+ experimental: false
+ - name: jdk11-mysql80-amd64
+ os: ubuntu-latest
+ build_jdk: 11
+ runtime_jdk_image: eclipse-temurin:11-jdk-alpine
+ mysql_image: mysql:8.0
+ mysql_connector_version: 8.0.33
+ platform: linux/amd64
+ experimental: true
+ - name: jdk17-mysql80-amd64
+ os: ubuntu-latest
+ build_jdk: 17
+ runtime_jdk_image: eclipse-temurin:17-jdk-alpine
+ mysql_image: mysql:8.0
+ mysql_connector_version: 8.0.33
+ platform: linux/amd64
+ experimental: true
+ - name: jdk17-mysql80-arm64
+ os: ubuntu-24.04-arm
+ build_jdk: 17
+ runtime_jdk_image: bellsoft/liberica-openjdk-alpine:17
+ mysql_image: mysql:8.0
+ mysql_connector_version: 8.0.33
+ platform: linux/arm64
+ experimental: true
steps:
- - name: Uninstall Docker Compose v2
- run: sudo rm -f /usr/local/bin/docker-compose
-
- - name: Install Docker Compose v1
+ - name: Install Docker Compose command
run: |
- DOCKER_COMPOSE_VERSION=1.29.2
- sudo curl -L
"https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-$(uname
-s)-$(uname -m)" -o /usr/local/bin/docker-compose
+ sudo rm -f /usr/local/bin/docker-compose
+ if [ "$(uname -m)" = "x86_64" ]; then
+ DOCKER_COMPOSE_VERSION=1.29.2
+ sudo curl -fL
"https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-$(uname
-s)-$(uname -m)" -o /usr/local/bin/docker-compose
+ else
+ sudo tee /usr/local/bin/docker-compose > /dev/null <<'EOF'
+ #!/usr/bin/env bash
+ docker compose "$@"
+ EOF
+ fi
sudo chmod +x /usr/local/bin/docker-compose
- - name: Verify Docker Compose v1 installation
+ - name: Verify Docker Compose installation
run: docker-compose --version
- # ========== 新增步骤1:Docker环境全量检查(关键) ==========
- - name: Check Docker environment (debug)
+ - name: Set up QEMU for cross-platform containers
+ if: matrix.platform != 'linux/amd64' && matrix.os == 'ubuntu-latest'
+ uses: docker/setup-qemu-action@v3
+
+ - name: Check Docker environment
run: |
- # 检查Docker服务状态
sudo systemctl status docker || true
- # 检查Docker版本和Compose版本
docker --version
docker-compose --version
- # 检查磁盘空间(GitHub Runner空间不足会导致镜像/容器创建失败)
+ docker info
df -h
- # 检查已有容器/镜像(清理残留)
docker ps -a
docker images
- # 检查端口占用(排查Seata常用端口8091/7091等)
sudo lsof -i :8091 || true
sudo lsof -i :7091 || true
- - name: Check out code into
+ - name: Check out code
uses: actions/checkout@v3
- name: Clone skywalking e2e repository
@@ -87,7 +110,9 @@ jobs:
- name: Build e2e framework (use skywalking-infra-e2e v1.3.0)
run: |
- cd skywalking-infra-e2e && git checkout
1485ae03f0ad90496ad7626a5ae4a6a73a1f6296 && make linux
+ cd skywalking-infra-e2e
+ git checkout 1485ae03f0ad90496ad7626a5ae4a6a73a1f6296
+ make linux
- name: Add script directory to PATH
run: |
@@ -102,105 +127,85 @@ jobs:
distribution: 'zulu'
java-version: ${{ matrix.build_jdk }}
- - name: Set Docker JDK base image
+ - name: Set E2E environment matrix
run: |
echo "=========================================="
echo "E2E Test Configuration:"
+ echo "Matrix Name: ${{ matrix.name }}"
echo "Build JDK Version: ${{ matrix.build_jdk }}"
- echo "Docker Runtime JDK Version: ${{ matrix.docker_jdk }}"
+ echo "Docker Runtime JDK Image: ${{ matrix.runtime_jdk_image }}"
+ echo "MySQL Image: ${{ matrix.mysql_image }}"
+ echo "MySQL Connector Version: ${{ matrix.mysql_connector_version }}"
+ echo "Docker Platform: ${{ matrix.platform }}"
+ echo "Experimental: ${{ matrix.experimental }}"
echo "=========================================="
- echo "E2E_JDK_BASE_IMAGE=${{ matrix.docker_jdk }}" >> $GITHUB_ENV
+ echo "E2E_JDK_BASE_IMAGE=${{ matrix.runtime_jdk_image }}" >>
$GITHUB_ENV
+ echo "E2E_MYSQL_IMAGE=${{ matrix.mysql_image }}" >> $GITHUB_ENV
+ echo "E2E_MYSQL_CONNECTOR_VERSION=${{ matrix.mysql_connector_version
}}" >> $GITHUB_ENV
+ echo "E2E_DOCKER_PLATFORM=${{ matrix.platform }}" >> $GITHUB_ENV
- - name: prepare e2e tests
+ - name: Prepare e2e tests
run: |
- cd e2e-test/scripts && sh prepare-test.sh
- # ========== 新增:打印prepare阶段的Docker状态 ==========
+ cd e2e-test/scripts
+ sh prepare-test.sh
- - name: check docker resources after prepare-test.sh
+ - name: Check docker resources after prepare-test.sh
run: |
echo "===== After prepare-test.sh: Docker containers status ====="
docker ps -a
echo "===== After prepare-test.sh: Docker images status ====="
docker images
- # ========== 新增关键步骤:手动执行docker-compose up -d(抓原始错误) ==========
- - name: Manual run docker-compose up -d (debug core error)
- run: |
- cd e2e-test/scripts
- # 1. 先检查compose文件语法(关键!语法错会直接exit 1)
- echo "===== Check docker-compose.yml syntax ====="
- docker-compose config --verbose
- # 2. 手动执行up -d,输出最详细日志,强制捕获错误
- echo "===== Run docker-compose up -d with debug ====="
- docker-compose up -d --verbose 2>&1 | tee docker-compose-up-debug.log
- # 3. 检查执行结果,打印错误码
- COMPOSE_EXIT_CODE=${PIPESTATUS[0]}
- echo "===== Docker-compose exit code: $COMPOSE_EXIT_CODE ====="
- # 4. 如果失败,立即打印容器状态和日志
- if [ $COMPOSE_EXIT_CODE -ne 0 ]; then
- echo "===== Docker containers status after failed up ====="
- docker ps -a
- echo "===== Docker-compose logs after failed up ====="
- docker-compose logs
- # 强制退出,让步骤失败(方便看日志)
- exit $COMPOSE_EXIT_CODE
- fi
-
- # ========== 原有e2e测试步骤(保留,用于对比) ==========
- - name: run e2e tests (auto answer [yN] prompt)
+ - name: Run e2e tests
id: e2e_test
run: |
set -euo pipefail
cd e2e-test/scripts
- # 核心:用echo y | 自动回答[yN]的交互提示(关键!)
- # 原理:把y作为输入,直接传给test-run.sh执行的进程,绕过手动输入
sh test-run.sh 2>&1 | tee e2e-test-log.txt
- # 捕获真实退出码(排除echo的干扰)
- TEST_EXIT_CODE=${PIPESTATUS[1]} # 注意:这里从0改成1,因为管道是echo y | sh
...,PIPESTATUS[1]才是sh的退出码
+ TEST_EXIT_CODE=${PIPESTATUS[0]}
exit $TEST_EXIT_CODE
- # ========== 核心修正2:日志收集改为if: always()(无论成败都执行) ==========
- name: Collect debug logs
- if: always() # 替代failure(),无论上一步成功/失败都执行
+ if: always()
run: |
echo "===== Docker version info ====="
docker --version
docker-compose --version
-
+
echo "===== All Docker containers status ====="
docker ps -a
-
+
echo "===== Docker compose logs ====="
- # 进入e2e脚本目录,执行docker-compose logs(适配你的compose文件路径)
- cd e2e-test/scripts
- docker-compose logs || true
-
+ if [ -d tmp/scene-test ]; then
+ find tmp/scene-test -name docker-compose.yaml -print0 | while IFS=
read -r -d '' compose_file; do
+ scene_dir=$(dirname "$compose_file")
+ echo "===== Logs for ${scene_dir} ====="
+ (cd "${scene_dir}" && docker-compose logs --tail=100) || true
+ done
+ else
+ echo "tmp/scene-test does not exist"
+ fi
+
echo "===== Seata container logs (if exists) ====="
- # 查找Seata相关容器并打印日志(适配容器名)
- SEATA_CONTAINER=$(docker ps -a | grep seata-server | awk '{print
$1}')
- if [ -n "$SEATA_CONTAINER" ]; then
- docker logs $SEATA_CONTAINER || true
+ SEATA_CONTAINERS=$(docker ps -a --filter "name=seata-server" -q ||
true)
+ if [ -n "$SEATA_CONTAINERS" ]; then
+ for container in $SEATA_CONTAINERS; do
+ docker logs "$container" || true
+ done
fi
-
+
echo "===== E2E test script logs ====="
- cat e2e-test-log.txt || true
-
+ cat e2e-test/scripts/e2e-test-log.txt || true
+
echo "===== Port usage ====="
sudo lsof -i -P -n | grep LISTEN || true
- # ========== 核心修正3:日志上传也改为if: always() ==========
- name: Upload debug logs
- if: always() # 无论成败都上传日志(失败时必传,成功时可选)
+ if: always()
uses: actions/upload-artifact@v4
with:
- name: e2e-debug-logs-${{ matrix.build_jdk }}
+ name: e2e-debug-logs-${{ matrix.name }}
path: |
e2e-test/scripts/e2e-test-log.txt
- /var/log/docker.log || true
-
- # ========== 核心修正4:手动标记Job失败(如果测试步骤失败) ==========
- - name: Mark job as failed if test failed
- if: steps.e2e_test.outcome == 'failure'
- run: |
- echo "E2E test failed, marking job as failed"
- exit 1
\ No newline at end of file
+ tmp/scene-test/**/docker-compose.yaml
+ tmp/scene-test/**/e2e.yaml
diff --git a/at-sample/at-api/pom.xml b/at-sample/at-api/pom.xml
index 0a5020f5..6212661c 100644
--- a/at-sample/at-api/pom.xml
+++ b/at-sample/at-api/pom.xml
@@ -24,6 +24,7 @@
<version>2.3.0</version>
<properties>
+ <mysql.connector.version>8.0.28</mysql.connector.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
@@ -71,7 +72,7 @@
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
- <version>8.0.28</version>
+ <version>${mysql.connector.version}</version>
</dependency>
</dependencies>
diff --git a/at-sample/at-api/seata-e2e.yaml b/at-sample/at-api/seata-e2e.yaml
index a16b0a4c..45f2371a 100644
--- a/at-sample/at-api/seata-e2e.yaml
+++ b/at-sample/at-api/seata-e2e.yaml
@@ -72,5 +72,5 @@ e2e:
# cases to verify
cases:
- name: normal test success
- invoke: 'docker exec test cat result.yaml'
- verify: './e2e-files/rollback.yaml'
\ No newline at end of file
+ invoke: 'docker exec test cat /seata-e2e/result.yaml'
+ verify: './e2e-files/rollback.yaml'
diff --git a/at-sample/dubbo-samples-seata/dubbo-samples-seata-account/pom.xml
b/at-sample/dubbo-samples-seata/dubbo-samples-seata-account/pom.xml
index c285ed0a..89712d71 100644
--- a/at-sample/dubbo-samples-seata/dubbo-samples-seata-account/pom.xml
+++ b/at-sample/dubbo-samples-seata/dubbo-samples-seata-account/pom.xml
@@ -48,6 +48,7 @@
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
+ <version>${mysql.connector.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
diff --git a/at-sample/dubbo-samples-seata/dubbo-samples-seata-order/pom.xml
b/at-sample/dubbo-samples-seata/dubbo-samples-seata-order/pom.xml
index 05467bb9..eafeff3d 100644
--- a/at-sample/dubbo-samples-seata/dubbo-samples-seata-order/pom.xml
+++ b/at-sample/dubbo-samples-seata/dubbo-samples-seata-order/pom.xml
@@ -48,6 +48,7 @@
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
+ <version>${mysql.connector.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
diff --git a/at-sample/dubbo-samples-seata/dubbo-samples-seata-stock/pom.xml
b/at-sample/dubbo-samples-seata/dubbo-samples-seata-stock/pom.xml
index bdee92cd..94f0d6ce 100644
--- a/at-sample/dubbo-samples-seata/dubbo-samples-seata-stock/pom.xml
+++ b/at-sample/dubbo-samples-seata/dubbo-samples-seata-stock/pom.xml
@@ -48,6 +48,7 @@
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
+ <version>${mysql.connector.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
diff --git a/at-sample/dubbo-samples-seata/pom.xml
b/at-sample/dubbo-samples-seata/pom.xml
index 3a5ed806..61066167 100644
--- a/at-sample/dubbo-samples-seata/pom.xml
+++ b/at-sample/dubbo-samples-seata/pom.xml
@@ -25,6 +25,7 @@
<name>dubbo-samples-seata</name>
<description>dubbo samples seata</description>
<properties>
+ <mysql.connector.version>8.0.31</mysql.connector.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
diff --git a/at-sample/spring-dubbo-seata/pom.xml
b/at-sample/spring-dubbo-seata/pom.xml
index e44f623c..cd6dc891 100644
--- a/at-sample/spring-dubbo-seata/pom.xml
+++ b/at-sample/spring-dubbo-seata/pom.xml
@@ -36,6 +36,7 @@
</modules>
<properties>
+ <mysql.connector.version>8.0.28</mysql.connector.version>
<java.version>8</java.version>
</properties>
</project>
\ No newline at end of file
diff --git a/at-sample/spring-dubbo-seata/seata-e2e.yaml
b/at-sample/spring-dubbo-seata/seata-e2e.yaml
index 21dbcf77..bbbb887f 100644
--- a/at-sample/spring-dubbo-seata/seata-e2e.yaml
+++ b/at-sample/spring-dubbo-seata/seata-e2e.yaml
@@ -148,5 +148,5 @@ e2e:
# cases to verify
cases:
- name: normal test success
- invoke: 'docker exec test cat result.yaml'
- verify: './e2e-files/success.yaml'
\ No newline at end of file
+ invoke: 'docker exec test cat /seata-e2e/result.yaml'
+ verify: './e2e-files/success.yaml'
diff --git a/at-sample/spring-dubbo-seata/spring-dubbo-seata-account/pom.xml
b/at-sample/spring-dubbo-seata/spring-dubbo-seata-account/pom.xml
index 8ae7d756..6a7156a0 100644
--- a/at-sample/spring-dubbo-seata/spring-dubbo-seata-account/pom.xml
+++ b/at-sample/spring-dubbo-seata/spring-dubbo-seata-account/pom.xml
@@ -82,7 +82,7 @@
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
- <version>8.0.28</version>
+ <version>${mysql.connector.version}</version>
</dependency>
<dependency>
diff --git a/at-sample/spring-dubbo-seata/spring-dubbo-seata-business/pom.xml
b/at-sample/spring-dubbo-seata/spring-dubbo-seata-business/pom.xml
index 0e0958d8..e94dd2c3 100644
--- a/at-sample/spring-dubbo-seata/spring-dubbo-seata-business/pom.xml
+++ b/at-sample/spring-dubbo-seata/spring-dubbo-seata-business/pom.xml
@@ -82,7 +82,7 @@
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
- <version>8.0.28</version>
+ <version>${mysql.connector.version}</version>
</dependency>
<dependency>
diff --git a/at-sample/spring-dubbo-seata/spring-dubbo-seata-order/pom.xml
b/at-sample/spring-dubbo-seata/spring-dubbo-seata-order/pom.xml
index c6de17bb..cbed3309 100644
--- a/at-sample/spring-dubbo-seata/spring-dubbo-seata-order/pom.xml
+++ b/at-sample/spring-dubbo-seata/spring-dubbo-seata-order/pom.xml
@@ -82,7 +82,7 @@
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
- <version>8.0.28</version>
+ <version>${mysql.connector.version}</version>
</dependency>
<dependency>
diff --git a/at-sample/spring-dubbo-seata/spring-dubbo-seata-storage/pom.xml
b/at-sample/spring-dubbo-seata/spring-dubbo-seata-storage/pom.xml
index 0406e107..d5b6a891 100644
--- a/at-sample/spring-dubbo-seata/spring-dubbo-seata-storage/pom.xml
+++ b/at-sample/spring-dubbo-seata/spring-dubbo-seata-storage/pom.xml
@@ -82,7 +82,7 @@
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
- <version>8.0.28</version>
+ <version>${mysql.connector.version}</version>
</dependency>
<dependency>
diff --git a/at-sample/spring-seata/pom.xml b/at-sample/spring-seata/pom.xml
index ddbc3b51..601a8c77 100644
--- a/at-sample/spring-seata/pom.xml
+++ b/at-sample/spring-seata/pom.xml
@@ -25,6 +25,7 @@
<version>2.3.0</version>
<properties>
+ <mysql.connector.version>8.0.28</mysql.connector.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
@@ -83,7 +84,7 @@
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
- <version>8.0.28</version>
+ <version>${mysql.connector.version}</version>
</dependency>
</dependencies>
diff --git a/at-sample/spring-seata/seata-e2e.yaml
b/at-sample/spring-seata/seata-e2e.yaml
index 189bdc64..e7dd6465 100644
--- a/at-sample/spring-seata/seata-e2e.yaml
+++ b/at-sample/spring-seata/seata-e2e.yaml
@@ -72,5 +72,5 @@ e2e:
# cases to verify
cases:
- name: normal test success
- invoke: 'docker exec test cat result.yaml'
- verify: './e2e-files/success.yaml'
\ No newline at end of file
+ invoke: 'docker exec test cat /seata-e2e/result.yaml'
+ verify: './e2e-files/success.yaml'
diff --git a/at-sample/springboot-dubbo-seata/pom.xml
b/at-sample/springboot-dubbo-seata/pom.xml
index 98baa9b4..8e402398 100644
--- a/at-sample/springboot-dubbo-seata/pom.xml
+++ b/at-sample/springboot-dubbo-seata/pom.xml
@@ -40,6 +40,7 @@
</modules>
<properties>
+ <mysql.connector.version>8.0.28</mysql.connector.version>
<java.version>8</java.version>
</properties>
</project>
diff --git
a/at-sample/springboot-dubbo-seata/springboot-dubbo-seata-account/pom.xml
b/at-sample/springboot-dubbo-seata/springboot-dubbo-seata-account/pom.xml
index 4c3b0e33..06f38c92 100644
--- a/at-sample/springboot-dubbo-seata/springboot-dubbo-seata-account/pom.xml
+++ b/at-sample/springboot-dubbo-seata/springboot-dubbo-seata-account/pom.xml
@@ -99,7 +99,7 @@
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
- <version>8.0.28</version>
+ <version>${mysql.connector.version}</version>
</dependency>
<dependency>
diff --git
a/at-sample/springboot-dubbo-seata/springboot-dubbo-seata-order/pom.xml
b/at-sample/springboot-dubbo-seata/springboot-dubbo-seata-order/pom.xml
index 67b91cda..2b11d906 100644
--- a/at-sample/springboot-dubbo-seata/springboot-dubbo-seata-order/pom.xml
+++ b/at-sample/springboot-dubbo-seata/springboot-dubbo-seata-order/pom.xml
@@ -99,7 +99,7 @@
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
- <version>8.0.28</version>
+ <version>${mysql.connector.version}</version>
</dependency>
<dependency>
diff --git
a/at-sample/springboot-dubbo-seata/springboot-dubbo-seata-storage/pom.xml
b/at-sample/springboot-dubbo-seata/springboot-dubbo-seata-storage/pom.xml
index da24200e..341ca371 100644
--- a/at-sample/springboot-dubbo-seata/springboot-dubbo-seata-storage/pom.xml
+++ b/at-sample/springboot-dubbo-seata/springboot-dubbo-seata-storage/pom.xml
@@ -100,7 +100,7 @@
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
- <version>8.0.28</version>
+ <version>${mysql.connector.version}</version>
</dependency>
<dependency>
diff --git a/at-sample/springboot-mybatis-seata/pom.xml
b/at-sample/springboot-mybatis-seata/pom.xml
index 5cc80201..4564779b 100644
--- a/at-sample/springboot-mybatis-seata/pom.xml
+++ b/at-sample/springboot-mybatis-seata/pom.xml
@@ -30,6 +30,7 @@
<name>springboot-mybatis-seata</name>
<description>springboot-mybatis-seata</description>
<properties>
+ <mysql.connector.version>8.0.28</mysql.connector.version>
<java.version>8</java.version>
</properties>
<dependencies>
@@ -63,7 +64,7 @@
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
- <version>8.0.28</version>
+ <version>${mysql.connector.version}</version>
</dependency>
<dependency>
diff --git a/at-sample/springboot-mybatis-seata/seata-e2e.yaml
b/at-sample/springboot-mybatis-seata/seata-e2e.yaml
index cbcb28cf..e9f366d1 100644
--- a/at-sample/springboot-mybatis-seata/seata-e2e.yaml
+++ b/at-sample/springboot-mybatis-seata/seata-e2e.yaml
@@ -72,5 +72,5 @@ e2e:
# cases to verify
cases:
- name: normal test rollback
- invoke: 'docker exec test cat result.yaml'
- verify: './e2e-files/success.yaml'
\ No newline at end of file
+ invoke: 'docker exec test cat /seata-e2e/result.yaml'
+ verify: './e2e-files/success.yaml'
diff --git a/at-sample/springboot-seata/pom.xml
b/at-sample/springboot-seata/pom.xml
index a92bda60..b46248bd 100644
--- a/at-sample/springboot-seata/pom.xml
+++ b/at-sample/springboot-seata/pom.xml
@@ -30,6 +30,7 @@
<name>springboot-seata</name>
<description>springboot-seata</description>
<properties>
+ <mysql.connector.version>8.0.28</mysql.connector.version>
<java.version>8</java.version>
</properties>
<dependencies>
@@ -63,7 +64,7 @@
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
- <version>8.0.28</version>
+ <version>${mysql.connector.version}</version>
</dependency>
</dependencies>
diff --git a/at-sample/springboot-seata/seata-e2e.yaml
b/at-sample/springboot-seata/seata-e2e.yaml
index 66b092a6..698ef92b 100644
--- a/at-sample/springboot-seata/seata-e2e.yaml
+++ b/at-sample/springboot-seata/seata-e2e.yaml
@@ -72,5 +72,5 @@ e2e:
# cases to verify
cases:
- name: normal test rollback
- invoke: 'docker exec test cat result.yaml'
- verify: './e2e-files/success.yaml'
\ No newline at end of file
+ invoke: 'docker exec test cat /seata-e2e/result.yaml'
+ verify: './e2e-files/success.yaml'
diff --git
a/e2e-test/e2e-test-builder/src/main/java/org/apache/seata/builder/ImageBuilder.java
b/e2e-test/e2e-test-builder/src/main/java/org/apache/seata/builder/ImageBuilder.java
index 2c1a83f4..7fca994d 100644
---
a/e2e-test/e2e-test-builder/src/main/java/org/apache/seata/builder/ImageBuilder.java
+++
b/e2e-test/e2e-test-builder/src/main/java/org/apache/seata/builder/ImageBuilder.java
@@ -101,6 +101,13 @@ public class ImageBuilder {
} else {
builder.command("mvn", "clean", "package");
}
+ String mysqlConnectorVersion =
ConfigConstants.getEnvValue(ConfigConstants.ENV_MYSQL_CONNECTOR_VERSION);
+ if (mysqlConnectorVersion != null) {
+ List<String> command = new ArrayList<>(builder.command());
+ command.add("-Dmysql.connector.version=" + mysqlConnectorVersion);
+ builder.command(command);
+ LOGGER.info("Packaging Maven module with MySQL connector version:
{}", mysqlConnectorVersion);
+ }
Process process = builder.start();
printProcessLog(LOGGER, process);
int exitCode = process.waitFor();
@@ -149,7 +156,13 @@ public class ImageBuilder {
String moduleComposeDir = new File(composeDir,
e2EConfig.getScene_name() + "-" + module.getName()).getAbsolutePath();
ProcessBuilder builder = new ProcessBuilder();
builder.directory(new File(moduleComposeDir));
- builder.command("docker", "build", "-t", imageTag, ".");
+ String dockerPlatform =
ConfigConstants.getEnvValue(ConfigConstants.ENV_DOCKER_PLATFORM);
+ if (dockerPlatform == null) {
+ builder.command("docker", "build", "-t", imageTag, ".");
+ } else {
+ LOGGER.info("Building Docker image for module {} with
platform: {}", module.getName(), dockerPlatform);
+ builder.command("docker", "build", "--platform",
dockerPlatform, "-t", imageTag, ".");
+ }
Process process = builder.start();
printProcessLog(LOGGER, process);
int exitCode = process.waitFor();
@@ -162,7 +175,7 @@ public class ImageBuilder {
module.getName(), exitCode, stdout, stderr));
continue;
}
- // 校验镜像是否存在且可用
+ // Verify that the image exists and is available.
ProcessBuilder inspectBuilder = new ProcessBuilder("docker",
"image", "inspect", imageTag);
Process inspectProcess = inspectBuilder.start();
printProcessLog(LOGGER, inspectProcess);
diff --git
a/e2e-test/e2e-test-builder/src/main/java/org/apache/seata/config/ConfigConstants.java
b/e2e-test/e2e-test-builder/src/main/java/org/apache/seata/config/ConfigConstants.java
index dc2d6ae7..0308c23a 100644
---
a/e2e-test/e2e-test-builder/src/main/java/org/apache/seata/config/ConfigConstants.java
+++
b/e2e-test/e2e-test-builder/src/main/java/org/apache/seata/config/ConfigConstants.java
@@ -37,11 +37,14 @@ public class ConfigConstants {
// JDK base image configuration
public static final String DEFAULT_BASE_IMAGE = "openjdk:8-jdk-alpine";
public static final String ENV_JDK_BASE_IMAGE = "E2E_JDK_BASE_IMAGE";
+ public static final String ENV_MYSQL_IMAGE = "E2E_MYSQL_IMAGE";
+ public static final String ENV_MYSQL_CONNECTOR_VERSION =
"E2E_MYSQL_CONNECTOR_VERSION";
+ public static final String ENV_DOCKER_PLATFORM = "E2E_DOCKER_PLATFORM";
// Predefined JDK image mapping
private static final Map<String, String> JDK_IMAGE_MAP = new
HashMap<String, String>() {{
put("8", "eclipse-temurin:8-jdk-alpine");
- put("11", "eclipse-temurin:8-jdk-alpine");
+ put("11", "eclipse-temurin:11-jdk-alpine");
put("17", "eclipse-temurin:17-jdk-alpine");
put("21", "eclipse-temurin:21-jdk-alpine");
// Support for different distributions
@@ -77,4 +80,12 @@ public class ConfigConstants {
}
return DEFAULT_BASE_IMAGE;
}
+
+ public static String getEnvValue(String envName) {
+ String envValue = System.getenv(envName);
+ if (envValue == null || envValue.trim().isEmpty()) {
+ return null;
+ }
+ return envValue.trim();
+ }
}
diff --git
a/e2e-test/e2e-test-builder/src/main/java/org/apache/seata/generator/DockerComposeGenerator.java
b/e2e-test/e2e-test-builder/src/main/java/org/apache/seata/generator/DockerComposeGenerator.java
index a737a88f..ccc76484 100644
---
a/e2e-test/e2e-test-builder/src/main/java/org/apache/seata/generator/DockerComposeGenerator.java
+++
b/e2e-test/e2e-test-builder/src/main/java/org/apache/seata/generator/DockerComposeGenerator.java
@@ -19,7 +19,9 @@ package org.apache.seata.generator;
import freemarker.template.Configuration;
import freemarker.template.TemplateException;
import freemarker.template.TemplateExceptionHandler;
+import org.apache.seata.config.ConfigConstants;
import org.apache.seata.model.E2EConfig;
+import org.apache.seata.model.Module;
import org.apache.seata.model.Modules;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -29,6 +31,7 @@ import java.io.FileWriter;
import java.io.IOException;
import java.nio.file.Files;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import static org.apache.seata.config.ConfigConstants.COMPOSE_FILE;
@@ -38,6 +41,7 @@ import static
org.apache.seata.config.ConfigConstants.COMPOSE_FILE;
*/
public class DockerComposeGenerator {
private static final Logger LOGGER =
LoggerFactory.getLogger(DockerComposeGenerator.class);
+ private static final String MYSQL_NATIVE_PASSWORD_COMMAND =
"--default-authentication-plugin=mysql_native_password";
private final Configuration cfg;
public DockerComposeGenerator() {
@@ -57,6 +61,7 @@ public class DockerComposeGenerator {
public void generateDockerComposeFile(E2EConfig e2EConfig, File file) {
try {
Modules modules = e2EConfig.getModules();
+ applyEnvironmentOverrides(modules);
Map<String, Object> map = new HashMap<>();
map.put("modules", modules);
@@ -83,4 +88,51 @@ public class DockerComposeGenerator {
+ "-" + e2EConfig.getScene_name()), e);
}
}
+
+ private void applyEnvironmentOverrides(Modules modules) {
+ String dockerPlatform =
ConfigConstants.getEnvValue(ConfigConstants.ENV_DOCKER_PLATFORM);
+ String mysqlImage =
ConfigConstants.getEnvValue(ConfigConstants.ENV_MYSQL_IMAGE);
+
+ applyApplicationPlatformOverride(modules.getConsumers(),
dockerPlatform);
+ applyApplicationPlatformOverride(modules.getProviders(),
dockerPlatform);
+ applyInfrastructureOverrides(modules.getInfrastructures(),
dockerPlatform, mysqlImage);
+ }
+
+ private void applyApplicationPlatformOverride(List<Module> modules, String
dockerPlatform) {
+ if (modules == null || dockerPlatform == null) {
+ return;
+ }
+ for (Module module : modules) {
+ if (module.getDocker_service() != null) {
+ module.getDocker_service().setPlatform(dockerPlatform);
+ }
+ }
+ }
+
+ private void applyInfrastructureOverrides(List<Module> modules, String
dockerPlatform, String mysqlImage) {
+ if (modules == null) {
+ return;
+ }
+ for (Module module : modules) {
+ if (module.getDocker_service() == null ||
!"mysql".equals(module.getName())) {
+ continue;
+ }
+ if (dockerPlatform != null) {
+ module.getDocker_service().setPlatform(dockerPlatform);
+ }
+ if (mysqlImage != null) {
+ String originalImage = module.getDocker_service().getImage();
+ module.getDocker_service().setImage(mysqlImage);
+ LOGGER.info("[E2E] Override MySQL image: {} -> {}",
originalImage, mysqlImage);
+ if (isMySQL8Image(mysqlImage)) {
+
module.getDocker_service().setCommand(MYSQL_NATIVE_PASSWORD_COMMAND);
+ LOGGER.info("[E2E] Use MySQL native password
authentication for image: {}", mysqlImage);
+ }
+ }
+ }
+ }
+
+ private boolean isMySQL8Image(String image) {
+ return image.startsWith("mysql:8");
+ }
}
diff --git
a/e2e-test/e2e-test-builder/src/main/java/org/apache/seata/model/DockerService.java
b/e2e-test/e2e-test-builder/src/main/java/org/apache/seata/model/DockerService.java
index 240aa24f..fe5a0bcf 100644
---
a/e2e-test/e2e-test-builder/src/main/java/org/apache/seata/model/DockerService.java
+++
b/e2e-test/e2e-test-builder/src/main/java/org/apache/seata/model/DockerService.java
@@ -35,6 +35,24 @@ public class DockerService {
private Map<String, String> environment;
private List<String> volumes;
private String container_name;
+ private String platform;
+ private String command;
+
+ public String getCommand() {
+ return command;
+ }
+
+ public void setCommand(String command) {
+ this.command = command;
+ }
+
+ public String getPlatform() {
+ return platform;
+ }
+
+ public void setPlatform(String platform) {
+ this.platform = platform;
+ }
public String getContainer_name() {
return container_name;
diff --git
a/e2e-test/e2e-test-builder/src/main/resources/template/application-dockerFile.ftl
b/e2e-test/e2e-test-builder/src/main/resources/template/application-dockerFile.ftl
index 8de118b4..16ea2b03 100644
---
a/e2e-test/e2e-test-builder/src/main/resources/template/application-dockerFile.ftl
+++
b/e2e-test/e2e-test-builder/src/main/resources/template/application-dockerFile.ftl
@@ -16,8 +16,11 @@
-->
FROM ${baseImage!"eclipse-temurin:8-jdk-alpine"}
-RUN apk --no-cache add curl bash
-COPY ${sourceJar} /app.jar
+RUN apk --no-cache add curl bash && \
+ mkdir -p /seata-e2e && \
+ chmod 777 /seata-e2e
+WORKDIR /seata-e2e
+COPY ${sourceJar} app.jar
# Create startup script with JDK version logging
RUN printf '#!/bin/bash\n\
@@ -33,7 +36,16 @@ echo "Hostname: $(hostname)"\n\
echo "Start Time: $(date)"\n\
echo "=========================================="\n\
echo "Starting Application..."\n\
-exec java -jar /app.jar\n' > /startup.sh && \
+JAVA_VERSION_STRING=$(java -version 2>&1 | head -n 1 | cut -d \\" -f 2)\n\
+JAVA_VERSION=$(echo "$JAVA_VERSION_STRING" | cut -d . -f 1)\n\
+if [ "$JAVA_VERSION" = "1" ]; then\n\
+ JAVA_VERSION=$(echo "$JAVA_VERSION_STRING" | cut -d . -f 2)\n\
+fi\n\
+JAVA_OPTS="$JAVA_OPTS"\n\
+if [ "$JAVA_VERSION" -ge 9 ] 2>/dev/null; then\n\
+ JAVA_OPTS="$JAVA_OPTS --add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.nio=ALL-UNNAMED"\n\
+fi\n\
+exec java $JAVA_OPTS -jar app.jar\n' > /startup.sh && \
chmod +x /startup.sh
-ENTRYPOINT ["/startup.sh"]
\ No newline at end of file
+ENTRYPOINT ["/startup.sh"]
diff --git
a/e2e-test/e2e-test-builder/src/main/resources/template/dockercompose.ftl
b/e2e-test/e2e-test-builder/src/main/resources/template/dockercompose.ftl
index 8edfc3ef..b2f1bab6 100644
--- a/e2e-test/e2e-test-builder/src/main/resources/template/dockercompose.ftl
+++ b/e2e-test/e2e-test-builder/src/main/resources/template/dockercompose.ftl
@@ -23,6 +23,12 @@ services:
<#if service.docker_service.image?has_content>
image: ${service.docker_service.image}
</#if>
+ <#if service.docker_service.platform?has_content>
+ platform: ${service.docker_service.platform}
+ </#if>
+ <#if service.docker_service.command?has_content>
+ command: ${service.docker_service.command}
+ </#if>
<#if service.docker_service.networks?has_content>
networks: ${service.docker_service.networks}
</#if>
@@ -80,6 +86,12 @@ services:
<#if service.docker_service.image?has_content>
image: ${service.docker_service.image}
</#if>
+ <#if service.docker_service.platform?has_content>
+ platform: ${service.docker_service.platform}
+ </#if>
+ <#if service.docker_service.command?has_content>
+ command: ${service.docker_service.command}
+ </#if>
<#if service.docker_service.networks?has_content>
networks: ${service.docker_service.networks}
</#if>
@@ -137,6 +149,12 @@ services:
<#if service.docker_service.image?has_content>
image: ${service.docker_service.image}
</#if>
+ <#if service.docker_service.platform?has_content>
+ platform: ${service.docker_service.platform}
+ </#if>
+ <#if service.docker_service.command?has_content>
+ command: ${service.docker_service.command}
+ </#if>
<#if service.docker_service.networks?has_content>
networks: ${service.docker_service.networks}
</#if>
diff --git
a/e2e-test/e2e-test-builder/src/main/resources/template/jar-dockerFile.ftl
b/e2e-test/e2e-test-builder/src/main/resources/template/jar-dockerFile.ftl
index 7729d67a..1a74c783 100644
--- a/e2e-test/e2e-test-builder/src/main/resources/template/jar-dockerFile.ftl
+++ b/e2e-test/e2e-test-builder/src/main/resources/template/jar-dockerFile.ftl
@@ -16,8 +16,11 @@
-->
FROM ${baseImage!"eclipse-temurin:8-jdk-alpine"}
-RUN apk --no-cache add bash
-COPY ${sourceJar} /app.jar
+RUN apk --no-cache add bash && \
+ mkdir -p /seata-e2e && \
+ chmod 777 /seata-e2e
+WORKDIR /seata-e2e
+COPY ${sourceJar} app.jar
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
@@ -37,4 +40,4 @@ echo "=========================================="\n\
exec /entrypoint.sh\n' > /log-jdk-info.sh && \
chmod +x /log-jdk-info.sh
-ENTRYPOINT ["/log-jdk-info.sh"]
\ No newline at end of file
+ENTRYPOINT ["/log-jdk-info.sh"]
diff --git a/e2e-test/scripts/prepare-test.sh b/e2e-test/scripts/prepare-test.sh
index 4ac79b53..8cc66478 100644
--- a/e2e-test/scripts/prepare-test.sh
+++ b/e2e-test/scripts/prepare-test.sh
@@ -30,6 +30,9 @@ if [ -n "$E2E_JDK_BASE_IMAGE" ]; then
else
echo " - Docker Base Image: openjdk:8-jdk-alpine (default)"
fi
+echo " - MySQL Image: ${E2E_MYSQL_IMAGE:-default from seata-e2e.yaml}"
+echo " - MySQL Connector Version: ${E2E_MYSQL_CONNECTOR_VERSION:-default from
pom.xml}"
+echo " - Docker Platform: ${E2E_DOCKER_PLATFORM:-default runner platform}"
echo "=========================================="
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
@@ -54,4 +57,4 @@ java -jar ./e2e-test-builder.jar ./
echo "=========================================="
echo "Finish Preparing Seata E2E Test Scenes"
-echo "=========================================="
\ No newline at end of file
+echo "=========================================="
diff --git a/e2e-test/scripts/test-run.sh b/e2e-test/scripts/test-run.sh
index ef58caf9..d82dc8b8 100644
--- a/e2e-test/scripts/test-run.sh
+++ b/e2e-test/scripts/test-run.sh
@@ -30,6 +30,9 @@ if [ -n "$E2E_JDK_BASE_IMAGE" ]; then
else
echo " - Docker Runtime JDK: openjdk:8-jdk-alpine (default)"
fi
+echo " - MySQL Image: ${E2E_MYSQL_IMAGE:-default from seata-e2e.yaml}"
+echo " - MySQL Connector Version: ${E2E_MYSQL_CONNECTOR_VERSION:-default from
pom.xml}"
+echo " - Docker Platform: ${E2E_DOCKER_PLATFORM:-default runner platform}"
echo "=========================================="
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
@@ -73,4 +76,4 @@ if [ $result -ne 0 ]; then
else
echo "[SUCCESS] All E2E tests passed!"
echo "=========================================="
-fi
\ No newline at end of file
+fi
diff --git a/saga-annotation-sample/seata-e2e.yaml
b/saga-annotation-sample/seata-e2e.yaml
index a1c16a1e..b7ff31ef 100644
--- a/saga-annotation-sample/seata-e2e.yaml
+++ b/saga-annotation-sample/seata-e2e.yaml
@@ -48,5 +48,5 @@ e2e:
# cases to verify
cases:
- name: normal test success
- invoke: 'docker exec test cat result.yaml'
- verify: './e2e-files/rollback.yaml'
\ No newline at end of file
+ invoke: 'docker exec test cat /seata-e2e/result.yaml'
+ verify: './e2e-files/rollback.yaml'
diff --git a/saga-sample/spring-seata-dubbo-saga/seata-e2e.yaml
b/saga-sample/spring-seata-dubbo-saga/seata-e2e.yaml
index f599924d..0772eaef 100644
--- a/saga-sample/spring-seata-dubbo-saga/seata-e2e.yaml
+++ b/saga-sample/spring-seata-dubbo-saga/seata-e2e.yaml
@@ -91,8 +91,8 @@ e2e:
# cases to verify
cases:
- name: normal test commit
- invoke: 'docker exec test cat commit.yaml'
+ invoke: 'docker exec test cat /seata-e2e/commit.yaml'
verify: './e2e-files/commit.yaml'
- name: normal test rollback
- invoke: 'docker exec test cat rollback.yaml'
- verify: './e2e-files/rollback.yaml'
\ No newline at end of file
+ invoke: 'docker exec test cat /seata-e2e/rollback.yaml'
+ verify: './e2e-files/rollback.yaml'
diff --git a/saga-sample/spring-seata-saga/seata-e2e.yaml
b/saga-sample/spring-seata-saga/seata-e2e.yaml
index 296fbb8e..43250908 100644
--- a/saga-sample/spring-seata-saga/seata-e2e.yaml
+++ b/saga-sample/spring-seata-saga/seata-e2e.yaml
@@ -54,8 +54,8 @@ e2e:
# cases to verify
cases:
- name: normal test rollback
- invoke: 'docker exec test cat rollback.yaml'
+ invoke: 'docker exec test cat /seata-e2e/rollback.yaml'
verify: './e2e-files/rollback.yaml'
- name: normal test commit
- invoke: 'docker exec test cat commit.yaml'
- verify: './e2e-files/commit.yaml'
\ No newline at end of file
+ invoke: 'docker exec test cat /seata-e2e/commit.yaml'
+ verify: './e2e-files/commit.yaml'
diff --git a/tcc-sample/spring-dubbo-seata-tcc/seata-e2e.yaml
b/tcc-sample/spring-dubbo-seata-tcc/seata-e2e.yaml
index 028e6b8b..92228e78 100644
--- a/tcc-sample/spring-dubbo-seata-tcc/seata-e2e.yaml
+++ b/tcc-sample/spring-dubbo-seata-tcc/seata-e2e.yaml
@@ -91,8 +91,8 @@ e2e:
# cases to verify
cases:
- name: normal test rollback
- invoke: 'docker exec test cat rollback.yaml'
+ invoke: 'docker exec test cat /seata-e2e/rollback.yaml'
verify: './e2e-files/rollback.yaml'
- name: normal test commit
- invoke: 'docker exec test cat commit.yaml'
- verify: './e2e-files/commit.yaml'
\ No newline at end of file
+ invoke: 'docker exec test cat /seata-e2e/commit.yaml'
+ verify: './e2e-files/commit.yaml'
diff --git a/tcc-sample/springboot-sofarpc-seata-tcc/seata-e2e.yaml
b/tcc-sample/springboot-sofarpc-seata-tcc/seata-e2e.yaml
index e8346823..873ed8fe 100644
--- a/tcc-sample/springboot-sofarpc-seata-tcc/seata-e2e.yaml
+++ b/tcc-sample/springboot-sofarpc-seata-tcc/seata-e2e.yaml
@@ -53,8 +53,8 @@ e2e:
# cases to verify
cases:
- name: normal test rollback
- invoke: 'docker exec test cat rollback.yaml'
+ invoke: 'docker exec test cat /seata-e2e/rollback.yaml'
verify: './e2e-files/rollback.yaml'
- name: normal test commit
- invoke: 'docker exec test cat commit.yaml'
- verify: './e2e-files/commit.yaml'
\ No newline at end of file
+ invoke: 'docker exec test cat /seata-e2e/commit.yaml'
+ verify: './e2e-files/commit.yaml'
diff --git a/xa-sample/springboot-feign-seata-xa/pom.xml
b/xa-sample/springboot-feign-seata-xa/pom.xml
index 43523a4f..4dbc3828 100644
--- a/xa-sample/springboot-feign-seata-xa/pom.xml
+++ b/xa-sample/springboot-feign-seata-xa/pom.xml
@@ -39,6 +39,7 @@
</modules>
<properties>
+ <mysql.connector.version>8.0.28</mysql.connector.version>
<java.version>8</java.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
diff --git
a/xa-sample/springboot-feign-seata-xa/springboot-feign-seata-account/pom.xml
b/xa-sample/springboot-feign-seata-xa/springboot-feign-seata-account/pom.xml
index 9b540a04..93d3b5ef 100644
--- a/xa-sample/springboot-feign-seata-xa/springboot-feign-seata-account/pom.xml
+++ b/xa-sample/springboot-feign-seata-xa/springboot-feign-seata-account/pom.xml
@@ -88,7 +88,7 @@
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
- <version>8.0.28</version>
+ <version>${mysql.connector.version}</version>
</dependency>
<dependency>
<groupId>org.apache.seata</groupId>
diff --git
a/xa-sample/springboot-feign-seata-xa/springboot-feign-seata-business/pom.xml
b/xa-sample/springboot-feign-seata-xa/springboot-feign-seata-business/pom.xml
index 70704377..eb34d387 100644
---
a/xa-sample/springboot-feign-seata-xa/springboot-feign-seata-business/pom.xml
+++
b/xa-sample/springboot-feign-seata-xa/springboot-feign-seata-business/pom.xml
@@ -82,7 +82,7 @@
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
- <version>8.0.28</version>
+ <version>${mysql.connector.version}</version>
</dependency>
<dependency>
diff --git
a/xa-sample/springboot-feign-seata-xa/springboot-feign-seata-order/pom.xml
b/xa-sample/springboot-feign-seata-xa/springboot-feign-seata-order/pom.xml
index 3057bf3c..e5b12dcb 100644
--- a/xa-sample/springboot-feign-seata-xa/springboot-feign-seata-order/pom.xml
+++ b/xa-sample/springboot-feign-seata-xa/springboot-feign-seata-order/pom.xml
@@ -82,7 +82,7 @@
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
- <version>8.0.28</version>
+ <version>${mysql.connector.version}</version>
</dependency>
<dependency>
diff --git
a/xa-sample/springboot-feign-seata-xa/springboot-feign-seata-storage/pom.xml
b/xa-sample/springboot-feign-seata-xa/springboot-feign-seata-storage/pom.xml
index 1c8f5c80..e3978498 100644
--- a/xa-sample/springboot-feign-seata-xa/springboot-feign-seata-storage/pom.xml
+++ b/xa-sample/springboot-feign-seata-xa/springboot-feign-seata-storage/pom.xml
@@ -83,7 +83,7 @@
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
- <version>8.0.28</version>
+ <version>${mysql.connector.version}</version>
</dependency>
<dependency>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]