From b03c77ad542e912834bfaf47f7c39a2fff9b60ad Mon Sep 17 00:00:00 2001 From: yuzhongyu Date: Wed, 28 Sep 2022 16:39:43 +0800 Subject: [PATCH 1/6] compatible with m1 arm64 --- test/plugin/agent-test-tools/pom.xml | 2 +- test/plugin/containers/jvm-container/pom.xml | 5 +++-- test/plugin/containers/jvm-container/src/main/docker/run.sh | 2 +- test/plugin/containers/tomcat-container/pom.xml | 4 ++-- test/plugin/run.sh | 2 +- 5 files changed, 8 insertions(+), 7 deletions(-) diff --git a/test/plugin/agent-test-tools/pom.xml b/test/plugin/agent-test-tools/pom.xml index c220234504..aabdbb858c 100644 --- a/test/plugin/agent-test-tools/pom.xml +++ b/test/plugin/agent-test-tools/pom.xml @@ -35,7 +35,7 @@ pom - 24270f8f1ee1cb9186ede5202ff1c4ae3d2d482a + 7dbdf726bdd12b67f09b3898bb95790eacbedf84 ${project.basedir}/target/agent-test-tools https://github.com/apache/skywalking-agent-test-tool.git diff --git a/test/plugin/containers/jvm-container/pom.xml b/test/plugin/containers/jvm-container/pom.xml index bb8fdeb606..0c159cab27 100644 --- a/test/plugin/containers/jvm-container/pom.xml +++ b/test/plugin/containers/jvm-container/pom.xml @@ -36,7 +36,7 @@ io.fabric8 docker-maven-plugin - 0.33.0 + 0.40.2 @@ -52,7 +52,8 @@ chmod +x /usr/local/skywalking/run.sh tar -xvf ../tools/skywalking-mock-collector.tar.gz -C ../tools - apk add --no-cache bash curl + apt-get update -y + apt-get install -y unzip ["/usr/local/skywalking/run.sh"] diff --git a/test/plugin/containers/jvm-container/src/main/docker/run.sh b/test/plugin/containers/jvm-container/src/main/docker/run.sh index 4f968dfedd..7598a9b2ba 100644 --- a/test/plugin/containers/jvm-container/src/main/docker/run.sh +++ b/test/plugin/containers/jvm-container/src/main/docker/run.sh @@ -101,7 +101,7 @@ java -jar \ -Xmx256m -Xms256m \ -DcaseName="${SCENARIO_NAME}-${SCENARIO_VERSION}" \ -DtestCasePath=${SCENARIO_HOME}/data/ \ - ${TOOLS_HOME}/skywalking-validator.jar 1>${LOGS_HOME}/validatolr.out + ${TOOLS_HOME}/skywalking-validator.jar &>${LOGS_HOME}/validator.out status=$? if [[ $status -eq 0 ]]; then diff --git a/test/plugin/containers/tomcat-container/pom.xml b/test/plugin/containers/tomcat-container/pom.xml index afeaf3c6b3..315ee313cd 100644 --- a/test/plugin/containers/tomcat-container/pom.xml +++ b/test/plugin/containers/tomcat-container/pom.xml @@ -36,7 +36,7 @@ io.fabric8 docker-maven-plugin - 0.33.0 + 0.40.2 @@ -74,4 +74,4 @@ - \ No newline at end of file + diff --git a/test/plugin/run.sh b/test/plugin/run.sh index 8056ec65e6..5d86643ac0 100755 --- a/test/plugin/run.sh +++ b/test/plugin/run.sh @@ -31,7 +31,7 @@ scenarios_home="${home}/scenarios" num_of_testcases= container_image_version="1.0.0" -base_image_java="adoptopenjdk/openjdk8:alpine" +base_image_java="adoptopenjdk/openjdk8:jre" base_image_tomcat="tomcat:8.5-jdk8-openjdk" jacoco_version="${JACOCO_VERSION:-0.8.6}" From 0079c1b4b0dbd89c3f872c5416c4afb412a88531 Mon Sep 17 00:00:00 2001 From: yuzhongyu Date: Thu, 29 Sep 2022 14:49:06 +0800 Subject: [PATCH 2/6] change base_image_java from adoptopenjdk/openjdk8:alpine to eclipse-temurin:8-jdk --- .github/actions/build/action.yml | 2 +- test/plugin/run.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/actions/build/action.yml b/.github/actions/build/action.yml index 1966010b3b..affd2a3201 100644 --- a/.github/actions/build/action.yml +++ b/.github/actions/build/action.yml @@ -22,7 +22,7 @@ inputs: base_image_java: description: "The Java Docker image under which this test case will run" required: false - default: "adoptopenjdk/openjdk8:alpine" + default: "eclipse-temurin:8-jdk" base_image_tomcat: description: "The Tomcat Docker image under which this test case will run" required: false diff --git a/test/plugin/run.sh b/test/plugin/run.sh index 5d86643ac0..bca9377d2c 100755 --- a/test/plugin/run.sh +++ b/test/plugin/run.sh @@ -31,7 +31,7 @@ scenarios_home="${home}/scenarios" num_of_testcases= container_image_version="1.0.0" -base_image_java="adoptopenjdk/openjdk8:jre" +base_image_java="eclipse-temurin:8-jdk" base_image_tomcat="tomcat:8.5-jdk8-openjdk" jacoco_version="${JACOCO_VERSION:-0.8.6}" From 8e3481d7189654bb6f7f3811362da5fa58fd93e8 Mon Sep 17 00:00:00 2001 From: yuzhongyu Date: Thu, 29 Sep 2022 15:30:55 +0800 Subject: [PATCH 3/6] change eclipse-temurin:17-alpine to eclipse-temurin:17-jdk --- .github/workflows/plugins-jdk17-test.0.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/plugins-jdk17-test.0.yaml b/.github/workflows/plugins-jdk17-test.0.yaml index d5bd5db8d8..45edcbac48 100644 --- a/.github/workflows/plugins-jdk17-test.0.yaml +++ b/.github/workflows/plugins-jdk17-test.0.yaml @@ -47,7 +47,7 @@ jobs: - name: Build uses: ./.github/actions/build with: - base_image_java: eclipse-temurin:17-alpine + base_image_java: eclipse-temurin:17-jdk base_image_tomcat: tomcat:8.5-jdk17-openjdk test: From afdd0668490ffde999e6924d37aa16a72161b1f8 Mon Sep 17 00:00:00 2001 From: yuzhongyu Date: Tue, 11 Oct 2022 17:50:17 +0800 Subject: [PATCH 4/6] auto check m1 and export DOCKER_HOST --- test/plugin/run.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/test/plugin/run.sh b/test/plugin/run.sh index bca9377d2c..4b2b373ae6 100755 --- a/test/plugin/run.sh +++ b/test/plugin/run.sh @@ -151,6 +151,11 @@ agent_home_selector() { start_stamp=`date +%s` parse_commandline "$@" +if [[ $(uname) == 'Darwin' ]] && [[ $(uname -m) == 'arm64' ]]; then + nohup socat TCP-LISTEN:2375,range=127.0.0.1/32,reuseaddr,fork UNIX-CLIENT:/var/run/docker.sock > /dev/null 2>&1 & + export DOCKER_HOST=tcp://127.0.0.1:2375 +fi + if [[ "$cleanup" == "on" ]]; then do_cleanup [[ -z "${scenario_name}" ]] && exit 0 From b204b33ec89134d8bc6807158a96e0c4adb2053c Mon Sep 17 00:00:00 2001 From: yuzhongyu Date: Thu, 13 Oct 2022 16:51:04 +0800 Subject: [PATCH 5/6] update Plugin-test.md, add socat into Environment Requirements when use m1 --- docs/en/setup/service-agent/java-agent/Plugin-test.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/en/setup/service-agent/java-agent/Plugin-test.md b/docs/en/setup/service-agent/java-agent/Plugin-test.md index fc336a4b0d..f0e54cd164 100644 --- a/docs/en/setup/service-agent/java-agent/Plugin-test.md +++ b/docs/en/setup/service-agent/java-agent/Plugin-test.md @@ -13,6 +13,7 @@ Every plugin maintained in the main repo requires corresponding test cases as we 2. JDK 8+ 3. Docker 4. Docker Compose +5. socat (m1 arm64 required) ## Case Base Image Introduction @@ -20,7 +21,7 @@ The test framework provides `JVM-container` and `Tomcat-container` base images i ### JVM-container Image Introduction -[JVM-container](../../../../../test/plugin/containers/jvm-container) uses `adoptopenjdk/openjdk8:alpine-jre` as the base image. `JVM-container` supports JDK8 and JDK17 as well in CI, which inherits `adoptopenjdk/openjdk8:alpine-jre` and `eclipse-temurin:17-alpine`. +[JVM-container](../../../../../test/plugin/containers/jvm-container) uses `eclipse-temurin:8-jdk` as the base image. `JVM-container` supports JDK8 and JDK17 as well in CI, which inherits `eclipse-temurin:8-jdk` and `eclipse-temurin:17-alpine`. It is supported to custom the base Java docker image by specify `base_image_java`. The test case project must be packaged as `project-name.zip`, including `startup.sh` and uber jar, by using `mvn clean package`. From 35e6e600493cc0e477af65c1f49fcdc4cabbd957 Mon Sep 17 00:00:00 2001 From: yuzhongyu Date: Fri, 4 Nov 2022 10:40:33 +0800 Subject: [PATCH 6/6] remove socat nohup, when the run.sh exit, socat exit --- test/plugin/run.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/plugin/run.sh b/test/plugin/run.sh index 4b2b373ae6..966e1fa922 100755 --- a/test/plugin/run.sh +++ b/test/plugin/run.sh @@ -152,7 +152,7 @@ start_stamp=`date +%s` parse_commandline "$@" if [[ $(uname) == 'Darwin' ]] && [[ $(uname -m) == 'arm64' ]]; then - nohup socat TCP-LISTEN:2375,range=127.0.0.1/32,reuseaddr,fork UNIX-CLIENT:/var/run/docker.sock > /dev/null 2>&1 & + socat TCP-LISTEN:2375,range=127.0.0.1/32,reuseaddr,fork UNIX-CLIENT:/var/run/docker.sock > /dev/null 2>&1 & export DOCKER_HOST=tcp://127.0.0.1:2375 fi