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/.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: 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 a2df65cd59..252fb8e07f 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`. 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 3307374cf7..5d6b84f317 100644 --- a/test/plugin/containers/jvm-container/src/main/docker/run.sh +++ b/test/plugin/containers/jvm-container/src/main/docker/run.sh @@ -102,7 +102,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..966e1fa922 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="eclipse-temurin:8-jdk" base_image_tomcat="tomcat:8.5-jdk8-openjdk" jacoco_version="${JACOCO_VERSION:-0.8.6}" @@ -151,6 +151,11 @@ agent_home_selector() { start_stamp=`date +%s` parse_commandline "$@" +if [[ $(uname) == 'Darwin' ]] && [[ $(uname -m) == 'arm64' ]]; then + 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