This is an automated email from the ASF dual-hosted git repository.
Aias00 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shenyu.git
The following commit(s) were added to refs/heads/master by this push:
new 4018b10d5f ci: build only required examples in e2e (#7208)
4018b10d5f is described below
commit 4018b10d5f23d630dd2cea2f4279ffaf6ddebc10
Author: shown <[email protected]>
AuthorDate: Thu Sep 24 13:33:13 2026 +0800
ci: build only required examples in e2e (#7208)
Co-authored-by: aias00 <[email protected]>
---
.github/scripts/resolve-test-case-matrix.sh | 32 ++++++++++++++++++++++++++++-
.github/workflows/e2e-k8s.yml | 15 ++++++++++----
2 files changed, 42 insertions(+), 5 deletions(-)
diff --git a/.github/scripts/resolve-test-case-matrix.sh
b/.github/scripts/resolve-test-case-matrix.sh
index 92edbdd907..df83108102 100644
--- a/.github/scripts/resolve-test-case-matrix.sh
+++ b/.github/scripts/resolve-test-case-matrix.sh
@@ -314,7 +314,37 @@ if [[ "${full_required}" == "true" ]]; then
fi
storage_matrix="$(printf '%s\n' "${storage_cases[@]}" | jq -R . | jq -cs
'{include: map(select(length > 0) | {case:"shenyu-e2e-case-storage",
script:.})}')"
-e2e_matrix="$(printf '%s\n' "${e2e_cases[@]}" | jq -R . | jq -cs '{include:
map(select(length > 0) | {case:(if . == "e2e-http-sync-compose" then
"shenyu-e2e-case-http" elif . == "e2e-springcloud-sync-compose" then
"shenyu-e2e-case-spring-cloud" elif . == "e2e-apache-dubbo-sync-compose" then
"shenyu-e2e-case-apache-dubbo" elif . == "e2e-grpc-sync-compose" then
"shenyu-e2e-case-grpc" elif . == "e2e-websocket-sync-compose" then
"shenyu-e2e-case-websocket" else "shenyu-e2e-case-logging-rocke [...]
+e2e_matrix="$(printf '%s\n' "${e2e_cases[@]}" | jq -R . | jq -cs '
+ def case_config:
+ {
+ "e2e-http-sync-compose": {
+ case: "shenyu-e2e-case-http",
+ example_projects: ":shenyu-examples-http"
+ },
+ "e2e-springcloud-sync-compose": {
+ case: "shenyu-e2e-case-spring-cloud",
+ example_projects:
":shenyu-examples-eureka,:shenyu-examples-springcloud"
+ },
+ "e2e-apache-dubbo-sync-compose": {
+ case: "shenyu-e2e-case-apache-dubbo",
+ example_projects: ":shenyu-examples-apache-dubbo-service"
+ },
+ "e2e-grpc-sync-compose": {
+ case: "shenyu-e2e-case-grpc",
+ example_projects: ":shenyu-examples-grpc"
+ },
+ "e2e-websocket-sync-compose": {
+ case: "shenyu-e2e-case-websocket",
+ example_projects: ":shenyu-example-spring-native-websocket"
+ },
+ "e2e-logging-rocketmq-compose": {
+ case: "shenyu-e2e-case-logging-rocketmq",
+ example_projects: ":shenyu-examples-http"
+ }
+ }[.];
+
+ {include: map(select(length > 0) | ({script: .} + case_config))}
+')"
integration_matrix="$(printf '%s\n' "${integration_cases[@]}" | jq -R . | jq
-cs '{include: map(select(length > 0) | {case:.})}')"
run_storage=$([[ "${#storage_cases[@]}" -gt 0 ]] && echo true || echo false)
diff --git a/.github/workflows/e2e-k8s.yml b/.github/workflows/e2e-k8s.yml
index 08dfde0106..fe0b0b2941 100644
--- a/.github/workflows/e2e-k8s.yml
+++ b/.github/workflows/e2e-k8s.yml
@@ -370,12 +370,19 @@ jobs:
- name: Build examples with Maven
shell: bash
+ env:
+ EXAMPLE_PROJECTS: ${{ matrix.example_projects }}
run: |
- echo "Falling back to maven wrapper for examples"
- if [[ "${{ runner.os }}" == "Windows" ]]; then
- ./mvnw.cmd -B clean install -Pexample -Dmaven.javadoc.skip=true
-Dmaven.test.skip=true -am -f ./shenyu-examples/pom.xml
+ if mvnd --version > /dev/null 2>&1; then
+ echo "Using mvnd to build ${EXAMPLE_PROJECTS}"
+ mvnd -B clean install -Pexample -Dmaven.javadoc.skip=true
-Dmaven.test.skip=true -pl "${EXAMPLE_PROJECTS}" -am -f
./shenyu-examples/pom.xml
else
- ./mvnw -B clean install -Pexample -Dmaven.javadoc.skip=true
-Dmaven.test.skip=true -am -f ./shenyu-examples/pom.xml
+ echo "Falling back to maven wrapper to build ${EXAMPLE_PROJECTS}"
+ if [[ "${{ runner.os }}" == "Windows" ]]; then
+ ./mvnw.cmd -B clean install -Pexample -Dmaven.javadoc.skip=true
-Dmaven.test.skip=true -pl "${EXAMPLE_PROJECTS}" -am -f
./shenyu-examples/pom.xml
+ else
+ ./mvnw -B clean install -Pexample -Dmaven.javadoc.skip=true
-Dmaven.test.skip=true -pl "${EXAMPLE_PROJECTS}" -am -f
./shenyu-examples/pom.xml
+ fi
fi
- name: Load ShenYu Docker Images