From 9259ca26762bb716a450bfaf722c3b1030b72740 Mon Sep 17 00:00:00 2001 From: peachisai <2581009893@qq.com> Date: Mon, 8 Dec 2025 12:40:31 +0800 Subject: [PATCH 01/32] Fix --- .github/workflows/ci.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index b92e5370de..0bc7a9c0e9 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -52,6 +52,8 @@ jobs: include: - os: ubuntu java-version: 21 + - os: ubuntu + java-version: 25 steps: - if: matrix.os == 'windows' name: Support longpaths From 71ab376aacc7ecb3967846e77f5af1717c752725 Mon Sep 17 00:00:00 2001 From: peachisai <2581009893@qq.com> Date: Tue, 9 Dec 2025 07:10:45 +0800 Subject: [PATCH 02/32] Fix --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 77678e9b66..8e85a9cee4 100755 --- a/pom.xml +++ b/pom.xml @@ -86,7 +86,7 @@ 4.12 5.0.0 2.0.2 - 1.18.30 + 1.18.42 1.17.6 From 4a89228800228fb89f1368f36b01fe001f0e24f5 Mon Sep 17 00:00:00 2001 From: peachisai <2581009893@qq.com> Date: Tue, 9 Dec 2025 22:08:28 +0800 Subject: [PATCH 03/32] Fix --- .github/workflows/plugins-jdk25-test.0.yaml | 70 +++++++++++++++++++ .github/workflows/publish-docker.yaml | 2 +- CHANGES.md | 1 + Makefile | 3 +- docs/en/contribution/compiling.md | 2 +- .../service-agent/java-agent/Plugin-test.md | 1 + .../setup/service-agent/java-agent/README.md | 2 +- 7 files changed, 77 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/plugins-jdk25-test.0.yaml diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml new file mode 100644 index 0000000000..0264493667 --- /dev/null +++ b/.github/workflows/plugins-jdk25-test.0.yaml @@ -0,0 +1,70 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +name: Test + +on: + pull_request: + paths: + - '.github/workflows/plugins-*.yaml' + - 'apm-application-toolkit/**' + - 'apm-commons/**' + - 'apm-protocol/**' + - 'apm-sniffer/**' + - 'test/plugin/**' + - '**/pom.xml' + - '!**.md' + +concurrency: + group: plugins-jdk25-1-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +jobs: + build: + name: Build + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - name: Build + uses: ./.github/actions/build + with: + base_image_java: eclipse-temurin:25-jdk + base_image_tomcat: tomcat:10.1-jdk25-temurin + + test: + needs: [ build ] + name: ${{ matrix.case }}-jdk25 + runs-on: ubuntu-latest + timeout-minutes: 90 + strategy: + matrix: + case: + + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - uses: actions/setup-java@v2 + with: + distribution: 'temurin' + java-version: '25' + - name: Run Test + uses: ./.github/actions/run + with: + test_case: ${{ matrix.case }} diff --git a/.github/workflows/publish-docker.yaml b/.github/workflows/publish-docker.yaml index 71597889a3..7c1f4726b5 100644 --- a/.github/workflows/publish-docker.yaml +++ b/.github/workflows/publish-docker.yaml @@ -64,7 +64,7 @@ jobs: timeout-minutes: 60 strategy: matrix: - java-version: [ 8, 11, 17, 21 ] + java-version: [ 8, 11, 17, 21, 25 ] env: TAG: ${{ github.sha }} steps: diff --git a/CHANGES.md b/CHANGES.md index 45b20f1aa8..3fde83af09 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -22,6 +22,7 @@ Release Notes. * Fix Gateway 2.0.x plugin not activated for spring-cloud-starter-gateway 2.0.0.RELEASE. * Support kafka-clients-3.9.x intercept. * Upgrade kafka-clients version in optional-reporter-plugins to 3.9.1. +* Bump up Lombok to v1.18.42 to adopt JDK25 compiling. All issues and pull requests are [here](https://github.com/apache/skywalking/milestone/242?closed=1) diff --git a/Makefile b/Makefile index b0b6adde5e..965c6572bc 100644 --- a/Makefile +++ b/Makefile @@ -34,7 +34,7 @@ dist: build # Docker build -base.all := alpine java8 java11 java17 java21 +base.all := alpine java8 java11 java17 java21 java25 base.each = $(word 1, $@) base.image.alpine := alpine:3 @@ -42,6 +42,7 @@ base.image.java8 := eclipse-temurin:8-jre base.image.java11 := eclipse-temurin:11-jre base.image.java17 := eclipse-temurin:17-jre base.image.java21 := eclipse-temurin:21-jre +base.image.java25 := eclipse-temurin:25-jre docker.%: PLATFORMS = docker.%: LOAD_OR_PUSH = --load diff --git a/docs/en/contribution/compiling.md b/docs/en/contribution/compiling.md index d1507cc47a..da69b48a91 100644 --- a/docs/en/contribution/compiling.md +++ b/docs/en/contribution/compiling.md @@ -1,7 +1,7 @@ # Compiling project This document will help you compile and build a project in your maven and set your IDE. -Prepare JDK 17 or 21. +Prepare JDK 17, 21 or 25. * If you clone codes from https://github.com/apache/skywalking-java ```shell 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 c91402e6c5..267c8730ea 100644 --- a/docs/en/setup/service-agent/java-agent/Plugin-test.md +++ b/docs/en/setup/service-agent/java-agent/Plugin-test.md @@ -682,6 +682,7 @@ You can run `python3 tools/select-group.py` to see which file contains the least If a test case required to run in JDK 17 environment, please add you test case into file `plugins-jdk17-test..yaml`. If a test case required to run in JDK 21 environment, please add you test case into file `plugins-jdk21-test..yaml`. +If a test case required to run in JDK 25 environment, please add you test case into file `plugins-jdk25-test..yaml`. ```yaml jobs: diff --git a/docs/en/setup/service-agent/java-agent/README.md b/docs/en/setup/service-agent/java-agent/README.md index f6702c006f..d829b741fc 100755 --- a/docs/en/setup/service-agent/java-agent/README.md +++ b/docs/en/setup/service-agent/java-agent/README.md @@ -1,6 +1,6 @@ # Setup java agent -1. Agent is available for JDK 8 - 21. +1. Agent is available for JDK 8 - 25. 1. Find `agent` folder in SkyWalking release package 1. Set `agent.service_name` in `config/agent.config`. Could be any String in English. 1. Set `collector.backend_service` in `config/agent.config`. Default point to `127.0.0.1:11800`, only works for local From cee2198234ee74ee9704c1ac30127383fe499c4e Mon Sep 17 00:00:00 2001 From: peachisai <2581009893@qq.com> Date: Tue, 9 Dec 2025 22:47:29 +0800 Subject: [PATCH 04/32] Fix --- .github/workflows/plugins-jdk25-test.0.yaml | 70 --------------------- CHANGES.md | 1 + 2 files changed, 1 insertion(+), 70 deletions(-) delete mode 100644 .github/workflows/plugins-jdk25-test.0.yaml diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml deleted file mode 100644 index 0264493667..0000000000 --- a/.github/workflows/plugins-jdk25-test.0.yaml +++ /dev/null @@ -1,70 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -name: Test - -on: - pull_request: - paths: - - '.github/workflows/plugins-*.yaml' - - 'apm-application-toolkit/**' - - 'apm-commons/**' - - 'apm-protocol/**' - - 'apm-sniffer/**' - - 'test/plugin/**' - - '**/pom.xml' - - '!**.md' - -concurrency: - group: plugins-jdk25-1-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true - -jobs: - build: - name: Build - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Build - uses: ./.github/actions/build - with: - base_image_java: eclipse-temurin:25-jdk - base_image_tomcat: tomcat:10.1-jdk25-temurin - - test: - needs: [ build ] - name: ${{ matrix.case }}-jdk25 - runs-on: ubuntu-latest - timeout-minutes: 90 - strategy: - matrix: - case: - - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - uses: actions/setup-java@v2 - with: - distribution: 'temurin' - java-version: '25' - - name: Run Test - uses: ./.github/actions/run - with: - test_case: ${{ matrix.case }} diff --git a/CHANGES.md b/CHANGES.md index e4ab7bcbc1..d85446c160 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -24,6 +24,7 @@ Release Notes. * Upgrade kafka-clients version in optional-reporter-plugins to 3.9.1. * Fix AbstractLogger replaceParam when the replaced string contains a replacement marker. * Bump up Lombok to v1.18.42 to adopt JDK25 compiling. +* Add `eclipse-temurin:25-jre` as another base image. All issues and pull requests are [here](https://github.com/apache/skywalking/milestone/242?closed=1) From 7969f05235ef5264c76efb3cdd414d08611b071d Mon Sep 17 00:00:00 2001 From: peachisai <2581009893@qq.com> Date: Tue, 9 Dec 2025 23:49:47 +0800 Subject: [PATCH 05/32] Fix --- docs/en/setup/service-agent/java-agent/Plugin-test.md | 1 - 1 file changed, 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 267c8730ea..c91402e6c5 100644 --- a/docs/en/setup/service-agent/java-agent/Plugin-test.md +++ b/docs/en/setup/service-agent/java-agent/Plugin-test.md @@ -682,7 +682,6 @@ You can run `python3 tools/select-group.py` to see which file contains the least If a test case required to run in JDK 17 environment, please add you test case into file `plugins-jdk17-test..yaml`. If a test case required to run in JDK 21 environment, please add you test case into file `plugins-jdk21-test..yaml`. -If a test case required to run in JDK 25 environment, please add you test case into file `plugins-jdk25-test..yaml`. ```yaml jobs: From ead34c5e54bffd1c12263d629ffd2cc8271725f0 Mon Sep 17 00:00:00 2001 From: peachisai <2581009893@qq.com> Date: Wed, 10 Dec 2025 12:11:50 +0800 Subject: [PATCH 06/32] Fix --- .github/workflows/plugins-jdk25-test.0.yaml | 70 +++++++++++++++++++ CHANGES.md | 1 + .../service-agent/java-agent/Plugin-test.md | 1 + 3 files changed, 72 insertions(+) create mode 100644 .github/workflows/plugins-jdk25-test.0.yaml diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml new file mode 100644 index 0000000000..9cb0126856 --- /dev/null +++ b/.github/workflows/plugins-jdk25-test.0.yaml @@ -0,0 +1,70 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +name: Test + +on: + pull_request: + paths: + - '.github/workflows/plugins-*.yaml' + - 'apm-application-toolkit/**' + - 'apm-commons/**' + - 'apm-protocol/**' + - 'apm-sniffer/**' + - 'test/plugin/**' + - '**/pom.xml' + - '!**.md' + +concurrency: + group: plugins-jdk25-1-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +jobs: + build: + name: Build + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - name: Build + uses: ./.github/actions/build + with: + base_image_java: eclipse-temurin:25-jdk + base_image_tomcat: tomcat:10.1-jdk25-temurin + + test: + needs: [ build ] + name: ${{ matrix.case }}-jdk25 + runs-on: ubuntu-latest + timeout-minutes: 90 + strategy: + matrix: + case: + - spring-6.x-scenario + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - uses: actions/setup-java@v2 + with: + distribution: 'temurin' + java-version: '25' + - name: Run Test + uses: ./.github/actions/run + with: + test_case: ${{ matrix.case }} diff --git a/CHANGES.md b/CHANGES.md index d85446c160..0de65472d9 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -25,6 +25,7 @@ Release Notes. * Fix AbstractLogger replaceParam when the replaced string contains a replacement marker. * Bump up Lombok to v1.18.42 to adopt JDK25 compiling. * Add `eclipse-temurin:25-jre` as another base image. +* Add JDK25 plugin tests for Spring 6. All issues and pull requests are [here](https://github.com/apache/skywalking/milestone/242?closed=1) 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 c91402e6c5..267c8730ea 100644 --- a/docs/en/setup/service-agent/java-agent/Plugin-test.md +++ b/docs/en/setup/service-agent/java-agent/Plugin-test.md @@ -682,6 +682,7 @@ You can run `python3 tools/select-group.py` to see which file contains the least If a test case required to run in JDK 17 environment, please add you test case into file `plugins-jdk17-test..yaml`. If a test case required to run in JDK 21 environment, please add you test case into file `plugins-jdk21-test..yaml`. +If a test case required to run in JDK 25 environment, please add you test case into file `plugins-jdk25-test..yaml`. ```yaml jobs: From 86679cb69a76bdef8105c5ab4f826804e5d1716e Mon Sep 17 00:00:00 2001 From: peachisai <2581009893@qq.com> Date: Wed, 10 Dec 2025 21:11:43 +0800 Subject: [PATCH 07/32] Fix --- .github/workflows/plugins-jdk25-test.0.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml index 9cb0126856..2851619f12 100644 --- a/.github/workflows/plugins-jdk25-test.0.yaml +++ b/.github/workflows/plugins-jdk25-test.0.yaml @@ -29,7 +29,7 @@ on: - '!**.md' concurrency: - group: plugins-jdk25-1-${{ github.event.pull_request.number || github.ref }} + group: plugins-jdk21-1-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true jobs: @@ -44,12 +44,12 @@ jobs: - name: Build uses: ./.github/actions/build with: - base_image_java: eclipse-temurin:25-jdk - base_image_tomcat: tomcat:10.1-jdk25-temurin + base_image_java: eclipse-temurin:21-jdk + base_image_tomcat: tomcat:10.1-jdk21-temurin test: needs: [ build ] - name: ${{ matrix.case }}-jdk25 + name: ${{ matrix.case }}-jdk21 runs-on: ubuntu-latest timeout-minutes: 90 strategy: @@ -63,7 +63,7 @@ jobs: - uses: actions/setup-java@v2 with: distribution: 'temurin' - java-version: '25' + java-version: '21' - name: Run Test uses: ./.github/actions/run with: From e8104d51b4fa2a8be7c35ee3728d9acb1af08079 Mon Sep 17 00:00:00 2001 From: peachisai <2581009893@qq.com> Date: Wed, 10 Dec 2025 21:31:20 +0800 Subject: [PATCH 08/32] Fix --- .github/workflows/plugins-jdk25-test.0.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml index 2851619f12..8f71ac3b1f 100644 --- a/.github/workflows/plugins-jdk25-test.0.yaml +++ b/.github/workflows/plugins-jdk25-test.0.yaml @@ -29,7 +29,7 @@ on: - '!**.md' concurrency: - group: plugins-jdk21-1-${{ github.event.pull_request.number || github.ref }} + group: plugins-jdk25-1-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true jobs: @@ -49,7 +49,7 @@ jobs: test: needs: [ build ] - name: ${{ matrix.case }}-jdk21 + name: ${{ matrix.case }}-jdk25 runs-on: ubuntu-latest timeout-minutes: 90 strategy: From b02792e7e957b5f3b69af86bf3fbaf1a2695d713 Mon Sep 17 00:00:00 2001 From: peachisai <2581009893@qq.com> Date: Wed, 10 Dec 2025 23:23:42 +0800 Subject: [PATCH 09/32] Fix --- .github/workflows/plugins-jdk25-test.0.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml index 8f71ac3b1f..97b9686b62 100644 --- a/.github/workflows/plugins-jdk25-test.0.yaml +++ b/.github/workflows/plugins-jdk25-test.0.yaml @@ -44,8 +44,8 @@ jobs: - name: Build uses: ./.github/actions/build with: - base_image_java: eclipse-temurin:21-jdk - base_image_tomcat: tomcat:10.1-jdk21-temurin + base_image_java: eclipse-temurin:25-jdk + base_image_tomcat: tomcat:10.1-jdk25-temurin test: needs: [ build ] From 4c1d4fd1888ab7d18f955ca544573f8e2d6b6aa9 Mon Sep 17 00:00:00 2001 From: peachisai <2581009893@qq.com> Date: Wed, 10 Dec 2025 23:38:38 +0800 Subject: [PATCH 10/32] Fix --- .github/workflows/plugins-jdk25-test.0.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml index 97b9686b62..bb7669c747 100644 --- a/.github/workflows/plugins-jdk25-test.0.yaml +++ b/.github/workflows/plugins-jdk25-test.0.yaml @@ -45,7 +45,7 @@ jobs: uses: ./.github/actions/build with: base_image_java: eclipse-temurin:25-jdk - base_image_tomcat: tomcat:10.1-jdk25-temurin + base_image_tomcat: tomcat:10.1-jdk21-temurin test: needs: [ build ] From 1231d7e5b544376c96d356a7653e991a0e0f55c7 Mon Sep 17 00:00:00 2001 From: peachisai <2581009893@qq.com> Date: Thu, 11 Dec 2025 00:19:31 +0800 Subject: [PATCH 11/32] Fix --- .github/workflows/plugins-jdk25-test.0.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml index bb7669c747..255656f845 100644 --- a/.github/workflows/plugins-jdk25-test.0.yaml +++ b/.github/workflows/plugins-jdk25-test.0.yaml @@ -45,7 +45,7 @@ jobs: uses: ./.github/actions/build with: base_image_java: eclipse-temurin:25-jdk - base_image_tomcat: tomcat:10.1-jdk21-temurin + base_image_tomcat: tomcat:10.1.50-jdk25-temurin test: needs: [ build ] @@ -63,7 +63,7 @@ jobs: - uses: actions/setup-java@v2 with: distribution: 'temurin' - java-version: '21' + java-version: '25' - name: Run Test uses: ./.github/actions/run with: From 61af899c0af320680a51374230a6ca1b3391f476 Mon Sep 17 00:00:00 2001 From: peachisai <2581009893@qq.com> Date: Thu, 11 Dec 2025 08:52:20 +0800 Subject: [PATCH 12/32] Fix --- .github/workflows/plugins-jdk25-test.0.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml index 255656f845..42f5c980cf 100644 --- a/.github/workflows/plugins-jdk25-test.0.yaml +++ b/.github/workflows/plugins-jdk25-test.0.yaml @@ -45,7 +45,7 @@ jobs: uses: ./.github/actions/build with: base_image_java: eclipse-temurin:25-jdk - base_image_tomcat: tomcat:10.1.50-jdk25-temurin + base_image_tomcat: tomcat:10.1.50-jdk25-temurin-noble test: needs: [ build ] From 512c8bff84bff34647bda5cc24b329f6ec486dad Mon Sep 17 00:00:00 2001 From: peachisai <2581009893@qq.com> Date: Thu, 11 Dec 2025 09:03:25 +0800 Subject: [PATCH 13/32] Fix --- .github/workflows/plugins-jdk25-test.0.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml index 42f5c980cf..2e176508cf 100644 --- a/.github/workflows/plugins-jdk25-test.0.yaml +++ b/.github/workflows/plugins-jdk25-test.0.yaml @@ -45,7 +45,7 @@ jobs: uses: ./.github/actions/build with: base_image_java: eclipse-temurin:25-jdk - base_image_tomcat: tomcat:10.1.50-jdk25-temurin-noble + base_image_tomcat: tomcat:10.1.50-jdk25-temurin test: needs: [ build ] @@ -63,7 +63,7 @@ jobs: - uses: actions/setup-java@v2 with: distribution: 'temurin' - java-version: '25' + java-version: '21' - name: Run Test uses: ./.github/actions/run with: From 16f8dbb35acc1745bfa6eb6574b481b05971db9f Mon Sep 17 00:00:00 2001 From: peachisai <2581009893@qq.com> Date: Thu, 11 Dec 2025 09:31:39 +0800 Subject: [PATCH 14/32] Fix --- .github/workflows/plugins-jdk25-test.0.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml index 2e176508cf..14f42df34a 100644 --- a/.github/workflows/plugins-jdk25-test.0.yaml +++ b/.github/workflows/plugins-jdk25-test.0.yaml @@ -45,7 +45,7 @@ jobs: uses: ./.github/actions/build with: base_image_java: eclipse-temurin:25-jdk - base_image_tomcat: tomcat:10.1.50-jdk25-temurin + base_image_tomcat: tomcat:10.1.50-jdk21-temurin test: needs: [ build ] @@ -63,7 +63,7 @@ jobs: - uses: actions/setup-java@v2 with: distribution: 'temurin' - java-version: '21' + java-version: '25' - name: Run Test uses: ./.github/actions/run with: From 857437c0d4e0ef89946f382e7c669393dd592894 Mon Sep 17 00:00:00 2001 From: peachisai <2581009893@qq.com> Date: Thu, 11 Dec 2025 12:35:24 +0800 Subject: [PATCH 15/32] Fix --- .github/workflows/plugins-jdk25-test.0.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml index 14f42df34a..39185236fb 100644 --- a/.github/workflows/plugins-jdk25-test.0.yaml +++ b/.github/workflows/plugins-jdk25-test.0.yaml @@ -45,7 +45,7 @@ jobs: uses: ./.github/actions/build with: base_image_java: eclipse-temurin:25-jdk - base_image_tomcat: tomcat:10.1.50-jdk21-temurin + base_image_tomcat: tomcat:10.1.50-jdk25 test: needs: [ build ] From 7226f0eb055bc17c1ff1e855e1b37f1dacf23376 Mon Sep 17 00:00:00 2001 From: peachisai <2581009893@qq.com> Date: Thu, 11 Dec 2025 21:03:16 +0800 Subject: [PATCH 16/32] Fix --- .github/workflows/plugins-jdk25-test.0.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml index 39185236fb..dccd1e6929 100644 --- a/.github/workflows/plugins-jdk25-test.0.yaml +++ b/.github/workflows/plugins-jdk25-test.0.yaml @@ -45,7 +45,7 @@ jobs: uses: ./.github/actions/build with: base_image_java: eclipse-temurin:25-jdk - base_image_tomcat: tomcat:10.1.50-jdk25 + base_image_tomcat: tomcat:11.0-jdk25-temurin test: needs: [ build ] From dbfacb746e011d5e84060147314d08a451ba4f0b Mon Sep 17 00:00:00 2001 From: peachisai <2581009893@qq.com> Date: Thu, 11 Dec 2025 21:18:03 +0800 Subject: [PATCH 17/32] Fix --- .github/workflows/plugins-jdk25-test.0.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml index dccd1e6929..93ff03700d 100644 --- a/.github/workflows/plugins-jdk25-test.0.yaml +++ b/.github/workflows/plugins-jdk25-test.0.yaml @@ -45,7 +45,7 @@ jobs: uses: ./.github/actions/build with: base_image_java: eclipse-temurin:25-jdk - base_image_tomcat: tomcat:11.0-jdk25-temurin + base_image_tomcat: tomcat:11.0.15-jdk21-temurin-noble test: needs: [ build ] From f2b715d9206a1e05b97d794729bdf268c5d01cd8 Mon Sep 17 00:00:00 2001 From: peachisai <2581009893@qq.com> Date: Thu, 11 Dec 2025 21:28:08 +0800 Subject: [PATCH 18/32] Fix --- .github/workflows/plugins-jdk25-test.0.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml index 93ff03700d..2444910633 100644 --- a/.github/workflows/plugins-jdk25-test.0.yaml +++ b/.github/workflows/plugins-jdk25-test.0.yaml @@ -45,7 +45,7 @@ jobs: uses: ./.github/actions/build with: base_image_java: eclipse-temurin:25-jdk - base_image_tomcat: tomcat:11.0.15-jdk21-temurin-noble + base_image_tomcat: tomcat:11.0.15-jdk25-temurin-noble test: needs: [ build ] From 7461d3b13e7d683cef0969bf8d788ffd77ebfe9f Mon Sep 17 00:00:00 2001 From: peachisai <2581009893@qq.com> Date: Thu, 11 Dec 2025 21:34:37 +0800 Subject: [PATCH 19/32] Fix --- .github/workflows/plugins-jdk25-test.0.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml index 2444910633..7c76147532 100644 --- a/.github/workflows/plugins-jdk25-test.0.yaml +++ b/.github/workflows/plugins-jdk25-test.0.yaml @@ -45,7 +45,7 @@ jobs: uses: ./.github/actions/build with: base_image_java: eclipse-temurin:25-jdk - base_image_tomcat: tomcat:11.0.15-jdk25-temurin-noble + base_image_tomcat: tomcat:11.0.15-jdk25-temurin test: needs: [ build ] From d0b82897393f20385ea32ec01612a812493a15c5 Mon Sep 17 00:00:00 2001 From: peachisai <2581009893@qq.com> Date: Thu, 11 Dec 2025 21:35:08 +0800 Subject: [PATCH 20/32] Fix --- .github/workflows/plugins-jdk25-test.0.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml index 7c76147532..2444910633 100644 --- a/.github/workflows/plugins-jdk25-test.0.yaml +++ b/.github/workflows/plugins-jdk25-test.0.yaml @@ -45,7 +45,7 @@ jobs: uses: ./.github/actions/build with: base_image_java: eclipse-temurin:25-jdk - base_image_tomcat: tomcat:11.0.15-jdk25-temurin + base_image_tomcat: tomcat:11.0.15-jdk25-temurin-noble test: needs: [ build ] From 5bc184d1fbbfa671d8f627bf383633609b498205 Mon Sep 17 00:00:00 2001 From: peachisai <2581009893@qq.com> Date: Thu, 11 Dec 2025 22:05:14 +0800 Subject: [PATCH 21/32] Fix --- .github/workflows/plugins-jdk25-test.0.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml index 2444910633..d5b8bb69f9 100644 --- a/.github/workflows/plugins-jdk25-test.0.yaml +++ b/.github/workflows/plugins-jdk25-test.0.yaml @@ -45,7 +45,7 @@ jobs: uses: ./.github/actions/build with: base_image_java: eclipse-temurin:25-jdk - base_image_tomcat: tomcat:11.0.15-jdk25-temurin-noble + base_image_tomcat: tomcat:11.0.15-jdk25-temurin-jammy test: needs: [ build ] From c7058b35eb5f9c37196c3b4e6dcbdf39a8855d4d Mon Sep 17 00:00:00 2001 From: peachisai <2581009893@qq.com> Date: Thu, 11 Dec 2025 23:14:32 +0800 Subject: [PATCH 22/32] Fix --- .github/workflows/plugins-jdk25-test.0.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml index d5b8bb69f9..ebb675ad11 100644 --- a/.github/workflows/plugins-jdk25-test.0.yaml +++ b/.github/workflows/plugins-jdk25-test.0.yaml @@ -41,11 +41,15 @@ jobs: - uses: actions/checkout@v2 with: submodules: true + - name: Install curl + run: | + sudo apt-get update + sudo apt-get install -y curl - name: Build uses: ./.github/actions/build with: base_image_java: eclipse-temurin:25-jdk - base_image_tomcat: tomcat:11.0.15-jdk25-temurin-jammy + base_image_tomcat: tomcat:11.0.15-jdk25-temurin test: needs: [ build ] From d787d72fdad1514e41a55d41b909532691d5d174 Mon Sep 17 00:00:00 2001 From: peachisai <2581009893@qq.com> Date: Thu, 11 Dec 2025 23:57:35 +0800 Subject: [PATCH 23/32] Fix --- .github/workflows/plugins-jdk25-test.0.yaml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml index ebb675ad11..d6da23e175 100644 --- a/.github/workflows/plugins-jdk25-test.0.yaml +++ b/.github/workflows/plugins-jdk25-test.0.yaml @@ -41,15 +41,17 @@ jobs: - uses: actions/checkout@v2 with: submodules: true - - name: Install curl + - name: Add curl to tomcat image run: | - sudo apt-get update - sudo apt-get install -y curl + echo "FROM tomcat:10.1.50-jdk21-temurin + RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/*" > Dockerfile.curl + + docker build -t tomcat-curl:10.1.50-jdk21-temurin -f Dockerfile.curl . - name: Build uses: ./.github/actions/build with: base_image_java: eclipse-temurin:25-jdk - base_image_tomcat: tomcat:11.0.15-jdk25-temurin + base_image_tomcat: tomcat-curl:10.1.50-jdk21-temurin test: needs: [ build ] From b814d242bf887447d5c72d1558f64a0755854878 Mon Sep 17 00:00:00 2001 From: peachisai <2581009893@qq.com> Date: Fri, 12 Dec 2025 08:34:35 +0800 Subject: [PATCH 24/32] Fix --- .github/workflows/plugins-jdk25-test.0.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml index d6da23e175..a438ed5efd 100644 --- a/.github/workflows/plugins-jdk25-test.0.yaml +++ b/.github/workflows/plugins-jdk25-test.0.yaml @@ -43,8 +43,10 @@ jobs: submodules: true - name: Add curl to tomcat image run: | - echo "FROM tomcat:10.1.50-jdk21-temurin - RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/*" > Dockerfile.curl + cat << 'EOF' > Dockerfile.curl + FROM tomcat:10.1.50-jdk21-temurin + RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/* + EOF docker build -t tomcat-curl:10.1.50-jdk21-temurin -f Dockerfile.curl . - name: Build From e48363811b13c10a6c306e97236a84c608ba4347 Mon Sep 17 00:00:00 2001 From: peachisai <2581009893@qq.com> Date: Fri, 12 Dec 2025 08:50:57 +0800 Subject: [PATCH 25/32] Fix --- .github/workflows/plugins-jdk25-test.0.yaml | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml index a438ed5efd..d5b8bb69f9 100644 --- a/.github/workflows/plugins-jdk25-test.0.yaml +++ b/.github/workflows/plugins-jdk25-test.0.yaml @@ -41,19 +41,11 @@ jobs: - uses: actions/checkout@v2 with: submodules: true - - name: Add curl to tomcat image - run: | - cat << 'EOF' > Dockerfile.curl - FROM tomcat:10.1.50-jdk21-temurin - RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/* - EOF - - docker build -t tomcat-curl:10.1.50-jdk21-temurin -f Dockerfile.curl . - name: Build uses: ./.github/actions/build with: base_image_java: eclipse-temurin:25-jdk - base_image_tomcat: tomcat-curl:10.1.50-jdk21-temurin + base_image_tomcat: tomcat:11.0.15-jdk25-temurin-jammy test: needs: [ build ] From 86612eb553ceee406b9f04f579f102d8214e70f6 Mon Sep 17 00:00:00 2001 From: peachisai <2581009893@qq.com> Date: Fri, 12 Dec 2025 12:34:40 +0800 Subject: [PATCH 26/32] Fix --- .github/workflows/Dockerfile | 21 +++++++++++++++++++++ .github/workflows/plugins-jdk25-test.0.yaml | 5 ++++- 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/Dockerfile diff --git a/.github/workflows/Dockerfile b/.github/workflows/Dockerfile new file mode 100644 index 0000000000..dc510ffb4c --- /dev/null +++ b/.github/workflows/Dockerfile @@ -0,0 +1,21 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +FROM tomcat:10.1.50-jdk25-temurin + +RUN apt-get update \ + && apt-get install -y --no-install-recommends curl \ + && rm -rf /var/lib/apt/lists/* \ No newline at end of file diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml index d5b8bb69f9..e6073d2daf 100644 --- a/.github/workflows/plugins-jdk25-test.0.yaml +++ b/.github/workflows/plugins-jdk25-test.0.yaml @@ -41,11 +41,14 @@ jobs: - uses: actions/checkout@v2 with: submodules: true + - name: Build local tomcat-curl image + run: | + docker build -t tomcat-curl:10.1.50-jdk25-temurin -f Dockerfile.curl . - name: Build uses: ./.github/actions/build with: base_image_java: eclipse-temurin:25-jdk - base_image_tomcat: tomcat:11.0.15-jdk25-temurin-jammy + base_image_tomcat: tomcat-curl:10.1.50-jdk25-temurin test: needs: [ build ] From 73be62527c84497fc1082c0aadb94e45f70857a8 Mon Sep 17 00:00:00 2001 From: peachisai <2581009893@qq.com> Date: Fri, 12 Dec 2025 12:42:35 +0800 Subject: [PATCH 27/32] Fix --- .github/workflows/plugins-jdk25-test.0.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml index e6073d2daf..057a92db2d 100644 --- a/.github/workflows/plugins-jdk25-test.0.yaml +++ b/.github/workflows/plugins-jdk25-test.0.yaml @@ -41,9 +41,6 @@ jobs: - uses: actions/checkout@v2 with: submodules: true - - name: Build local tomcat-curl image - run: | - docker build -t tomcat-curl:10.1.50-jdk25-temurin -f Dockerfile.curl . - name: Build uses: ./.github/actions/build with: From 2a54f6127a8918f25ae562468503d637d66b51d7 Mon Sep 17 00:00:00 2001 From: peachisai <2581009893@qq.com> Date: Fri, 12 Dec 2025 20:30:48 +0800 Subject: [PATCH 28/32] Fix --- .github/workflows/plugins-jdk25-test.0.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml index 057a92db2d..73b8242cf4 100644 --- a/.github/workflows/plugins-jdk25-test.0.yaml +++ b/.github/workflows/plugins-jdk25-test.0.yaml @@ -41,6 +41,9 @@ jobs: - uses: actions/checkout@v2 with: submodules: true + - name: Build local tomcat-curl image + run: | + docker build -t tomcat-curl:10.1.50-jdk25-temurin -f Dockerfile. - name: Build uses: ./.github/actions/build with: From 58ea0610ef2c3cc2fc3f2f5bcfe41c776bba6e11 Mon Sep 17 00:00:00 2001 From: peachisai <2581009893@qq.com> Date: Fri, 12 Dec 2025 21:57:18 +0800 Subject: [PATCH 29/32] Fix --- .github/workflows/plugins-jdk25-test.0.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml index 73b8242cf4..cbb6d4d2c9 100644 --- a/.github/workflows/plugins-jdk25-test.0.yaml +++ b/.github/workflows/plugins-jdk25-test.0.yaml @@ -43,7 +43,8 @@ jobs: submodules: true - name: Build local tomcat-curl image run: | - docker build -t tomcat-curl:10.1.50-jdk25-temurin -f Dockerfile. + docker build -t tomcat-curl:10.1.50-jdk25-temurin \ + -f Dockerfile . - name: Build uses: ./.github/actions/build with: From 06a84149bef7ab977312a34acb831e0f0c4fa7aa Mon Sep 17 00:00:00 2001 From: peachisai <2581009893@qq.com> Date: Fri, 12 Dec 2025 22:01:03 +0800 Subject: [PATCH 30/32] Fix --- .github/workflows/plugins-jdk25-test.0.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml index cbb6d4d2c9..d189ff9158 100644 --- a/.github/workflows/plugins-jdk25-test.0.yaml +++ b/.github/workflows/plugins-jdk25-test.0.yaml @@ -44,7 +44,7 @@ jobs: - name: Build local tomcat-curl image run: | docker build -t tomcat-curl:10.1.50-jdk25-temurin \ - -f Dockerfile . + -f ./.github/workflows/Dockerfile . - name: Build uses: ./.github/actions/build with: From 14bebea6ceb0cf4d6dec7b0ea2bb0b4bb06f3f3e Mon Sep 17 00:00:00 2001 From: peachisai <2581009893@qq.com> Date: Fri, 12 Dec 2025 22:14:38 +0800 Subject: [PATCH 31/32] Fix --- .../workflows/{Dockerfile => Dockerfile-tomcat-jdk25-withCurl} | 0 .github/workflows/plugins-jdk25-test.0.yaml | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename .github/workflows/{Dockerfile => Dockerfile-tomcat-jdk25-withCurl} (100%) diff --git a/.github/workflows/Dockerfile b/.github/workflows/Dockerfile-tomcat-jdk25-withCurl similarity index 100% rename from .github/workflows/Dockerfile rename to .github/workflows/Dockerfile-tomcat-jdk25-withCurl diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml index d189ff9158..88c7213101 100644 --- a/.github/workflows/plugins-jdk25-test.0.yaml +++ b/.github/workflows/plugins-jdk25-test.0.yaml @@ -44,7 +44,7 @@ jobs: - name: Build local tomcat-curl image run: | docker build -t tomcat-curl:10.1.50-jdk25-temurin \ - -f ./.github/workflows/Dockerfile . + -f ./.github/workflows/Dockerfile-tomcat-jdk25-withCurl . - name: Build uses: ./.github/actions/build with: From cd988a6abf7b0040917c79c9f8b75a94ed61e211 Mon Sep 17 00:00:00 2001 From: peachisai <2581009893@qq.com> Date: Sun, 14 Dec 2025 22:14:24 +0800 Subject: [PATCH 32/32] Fix --- docs/en/setup/service-agent/java-agent/Plugin-test.md | 4 ++++ 1 file changed, 4 insertions(+) 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 267c8730ea..e9dabb7515 100644 --- a/docs/en/setup/service-agent/java-agent/Plugin-test.md +++ b/docs/en/setup/service-agent/java-agent/Plugin-test.md @@ -38,6 +38,10 @@ The test case project must be packaged as `project-name.war` by using `mvn packa Take the following test project as an example * [spring-4.3.x-scenario](../../../../../test/plugin/scenarios/spring-4.3.x-scenario) +Note on `tomcat:10.1.50-jdk25-temurin` image: + +Starting from JDK 22, the Tomcat community removed `curl` from the official Tomcat JDK images. Since `curl` is required by our plugin test framework, we provide a custom `tomcat-jdk25` image built with `curl` installed. +You can refer to the [tomcat-jdk25-dockerFile](../../../../../.github/workflows/Dockerfile-tomcat-jdk25-withCurl) to build the image for local plugin tests. ## Test project hierarchical structure The test case is an independent maven project, and it must be packaged as a war tar ball or zip file, depending on the chosen base image. Also, two external accessible endpoints usually two URLs) are required.