You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by ke...@apache.org on 2021/08/26 16:02:03 UTC

[skywalking-java] branch test/ci/docker updated (7efc985 -> bfb3e33)

This is an automated email from the ASF dual-hosted git repository.

kezhenxu94 pushed a change to branch test/ci/docker
in repository https://gitbox.apache.org/repos/asf/skywalking-java.git.


 discard 7efc985  Set up CI
     new bfb3e33  Set up CI

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (7efc985)
            \
             N -- N -- N   refs/heads/test/ci/docker (bfb3e33)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 apm-protocol/apm-network/pom.xml              | 2 +-
 apm-sniffer/apm-agent-core/pom.xml            | 2 +-
 apm-sniffer/apm-agent/pom.xml                 | 2 +-
 apm-sniffer/apm-sdk-plugin/pom.xml            | 2 +-
 apm-sniffer/apm-test-tools/pom.xml            | 2 +-
 apm-sniffer/apm-toolkit-activation/pom.xml    | 2 +-
 apm-sniffer/bootstrap-plugins/pom.xml         | 2 +-
 apm-sniffer/optional-plugins/pom.xml          | 2 +-
 apm-sniffer/optional-reporter-plugins/pom.xml | 4 ++--
 apm-sniffer/pom.xml                           | 2 +-
 10 files changed, 11 insertions(+), 11 deletions(-)

[skywalking-java] 01/01: Set up CI

Posted by ke...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

kezhenxu94 pushed a commit to branch test/ci/docker
in repository https://gitbox.apache.org/repos/asf/skywalking-java.git

commit bfb3e33fadbdc7184ec561da216cc8374061da05
Author: kezhenxu94 <ke...@apache.org>
AuthorDate: Thu Aug 26 23:40:46 2021 +0800

    Set up CI
---
 docker/ui/docker-entrypoint.sh => .dockerignore |  18 +-
 .github/ISSUE_TEMPLATE                          |  24 --
 .github/actions/plugins-test/action.yml         |  23 +-
 .github/actions/skip/action.yml                 |  87 -------
 .github/workflows/ci-it.yaml                    | 129 ++--------
 .github/workflows/codeql.yaml                   |   4 +-
 .github/workflows/docker-ci.yaml                |  95 -------
 .github/workflows/e2e.alarm.yaml                |  54 ----
 .github/workflows/e2e.cluster.yaml              |  63 -----
 .github/workflows/e2e.compat.yaml               |  53 ----
 .github/workflows/e2e.event.yaml                |  54 ----
 .github/workflows/e2e.go.yaml                   |  50 ----
 .github/workflows/e2e.istio.yaml                | 319 ------------------------
 .github/workflows/e2e.jdk-versions.yaml         |  66 -----
 .github/workflows/e2e.js.yaml                   |  69 -----
 .github/workflows/e2e.kafka.yaml                |  62 -----
 .github/workflows/e2e.log.yaml                  |  71 ------
 .github/workflows/e2e.nodejs.yaml               |  50 ----
 .github/workflows/e2e.php.yaml                  |  47 ----
 .github/workflows/e2e.profiling.yaml            |  55 ----
 .github/workflows/e2e.python.yaml               |  50 ----
 .github/workflows/e2e.so11y.yaml                |  50 ----
 .github/workflows/e2e.storages.yaml             |  61 -----
 .github/workflows/e2e.ttl.yaml                  |  55 ----
 .github/workflows/e2e.yaml                      |  84 -------
 .github/workflows/plugins-jdk14-test.0.yaml     |   5 +-
 .github/workflows/plugins-test.0.yaml           |   5 +-
 .github/workflows/plugins-test.1.yaml           |   5 +-
 .github/workflows/plugins-test.2.yaml           |   5 +-
 .github/workflows/plugins-test.3.yaml           |  13 +-
 .github/workflows/publish-docker.yaml           |  25 +-
 .gitignore                                      |   2 -
 .muse/config.toml                               |   2 -
 .muse/setup.sh                                  |   2 -
 docker/agent/Dockerfile.agent => Dockerfile     |  13 +-
 Makefile                                        | 106 ++------
 apm-application-toolkit/pom.xml                 |   2 +-
 apm-commons/apm-datacarrier/pom.xml             |   2 +-
 apm-commons/apm-util/pom.xml                    |   1 -
 apm-protocol/apm-network/pom.xml                |   2 +-
 apm-sniffer/apm-agent-core/pom.xml              |   2 +-
 apm-sniffer/apm-agent/pom.xml                   |   2 +-
 apm-sniffer/apm-sdk-plugin/pom.xml              |   2 +-
 apm-sniffer/apm-test-tools/pom.xml              |   2 +-
 apm-sniffer/apm-toolkit-activation/pom.xml      |   2 +-
 apm-sniffer/bootstrap-plugins/pom.xml           |   2 +-
 apm-sniffer/optional-plugins/pom.xml            |   2 +-
 apm-sniffer/optional-reporter-plugins/pom.xml   |   4 +-
 apm-sniffer/pom.xml                             |   2 +-
 docker/.env                                     |   2 -
 docker/README.md                                |  60 -----
 docker/docker-compose.yml                       |  64 -----
 docker/oap/Dockerfile.oap                       |  66 -----
 docker/oap/docker-entrypoint.sh                 |  42 ----
 docker/oap/log4j2.xml                           |  39 ---
 docker/ui/Dockerfile.ui                         |  40 ---
 docker/ui/logback.xml                           |  21 --
 pom.xml                                         |  86 +------
 tools/coverage/report.sh                        |  53 ----
 59 files changed, 106 insertions(+), 2270 deletions(-)

diff --git a/docker/ui/docker-entrypoint.sh b/.dockerignore
old mode 100755
new mode 100644
similarity index 67%
rename from docker/ui/docker-entrypoint.sh
rename to .dockerignore
index 807bb71..7eafa28
--- a/docker/ui/docker-entrypoint.sh
+++ b/.dockerignore
@@ -14,18 +14,6 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-#!/bin/bash
-
-set -e
-
-export LOGGING_CONFIG="webapp/logback.xml"
-
-if [[ ! -z "$SW_OAP_ADDRESS" ]]; then
-  address_arr=(${SW_OAP_ADDRESS//,/ })
-  for i in "${!address_arr[@]}"
-  do
-      JAVA_OPTS="${JAVA_OPTS} -Dspring.cloud.discovery.client.simple.instances.oap-service[$i].uri=${address_arr[$i]}"
-  done
-fi
-
-exec java  ${JAVA_OPTS} -jar webapp/skywalking-webapp.jar "$@"
+*
+!skywalking-agent
+skywalking-agent/logs
diff --git a/.github/ISSUE_TEMPLATE b/.github/ISSUE_TEMPLATE
deleted file mode 100644
index 8a70368..0000000
--- a/.github/ISSUE_TEMPLATE
+++ /dev/null
@@ -1,24 +0,0 @@
-Please answer these questions before submitting your issue.
-
-- Why do you submit this issue?
-- [ ] Question or discussion
-- [ ] Bug
-- [ ] Requirement
-- [ ] Feature or performance improvement
-
-___
-### Question
-- What do you want to know?
-
-___
-### Bug
-- Which version of SkyWalking, OS, and JRE?
-
-- Which company or project?
-
-- What happened?
-If possible, provide a way to reproduce the error. e.g. demo application, component version.
-
-___
-### Requirement or improvement
-- Please describe your requirements or improvement suggestions.
diff --git a/.github/actions/plugins-test/action.yml b/.github/actions/plugins-test/action.yml
index 08190d5..4cf715e 100644
--- a/.github/actions/plugins-test/action.yml
+++ b/.github/actions/plugins-test/action.yml
@@ -36,17 +36,6 @@ runs:
         key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
         restore-keys: |
           ${{ runner.os }}-maven-agent-
-    - name: Check Unintended Changes
-      shell: bash
-      run: |
-        echo "::group::Check sw.version"
-        sudo apt install -y -q xmlstarlet
-        SW_VERSION=$(xmlstarlet sel -N pom=http://maven.apache.org/POM/4.0.0 -t -v "/pom:project/pom:properties/pom:sw.version" test/e2e/pom.xml)
-        if [[ "$(echo $(echo $SW_VERSION))" != "" ]]; then
-          echo "Please don't submit the change of sw.version in test/e2e/pom.xml"
-          exit 1
-        fi
-        echo "::endgroup::"
     - name: Check License
       uses: apache/skywalking-eyes@a63f4afcc287dfb3727ecc45a4afc55a5e69c15f
     - name: Add checkstyle-plugin
@@ -60,8 +49,8 @@ runs:
       run: |
         echo "::group::Build SkyWalking Agent"
         # Retry one more time due to frequent "maven connection reset"
-        ./mvnw --batch-mode clean package -DskipTests -Pagent || \
-        ./mvnw --batch-mode clean package -DskipTests -Pagent
+        ./mvnw --batch-mode clean package -DskipTests || \
+        ./mvnw --batch-mode clean package -DskipTests
         echo "::endgroup::"
     - name: Build Docker Image
       shell: bash
@@ -77,11 +66,3 @@ runs:
         echo "::group::Run Plugin Test ${{ inputs.test_case }}"
         bash test/plugin/run.sh --image_version=${{ inputs.java_version }}-1.0.0 ${{ inputs.test_case }}
         echo "::endgroup::"
-    - name: Report Coverage
-      shell: bash
-      env:
-        CODECOV_TOKEN: d2065307-8f01-4637-9715-2781ef096db7
-      run: |
-        echo "::group::Uploading Code Coverage"
-        bash -x tools/coverage/report.sh
-        echo "::endgroup::"
diff --git a/.github/actions/skip/action.yml b/.github/actions/skip/action.yml
deleted file mode 100644
index 60c30ff..0000000
--- a/.github/actions/skip/action.yml
+++ /dev/null
@@ -1,87 +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: "Set Skip Env Var"
-description: "Action to set the SKIP_CI environment variable indicating that we should skip CI jobs"
-inputs:
-  paths:
-    description: >-
-      Set the SKIP_CI environment variable when and only when all the changed files located in one of the path,
-      the paths is shell-style pattern.
-    required: false
-    default: >-
-      "*.md"
-      "*.txt"
-      "skywalking-ui"
-      ".asf.yaml"
-      ".dlc.yaml"
-      ".licenserc.yaml"
-      "docs/menu.yml"
-      ".github/actions/skip/action.yml"
-      ".github/workflows/codeql.yaml"
-      "dist-material/release-docs"
-      "test/plugin/*"
-      "*/component-libraries.yml"
-
-runs:
-  using: "composite"
-  steps:
-    - name: Check Changed Files And Set Env Var
-      shell: bash
-      run: |
-        if [[ "${{ github.event_name }}" != "pull_request" ]]; then
-          exit 0
-        fi
-
-        BASE_SHA=$(jq -r '.pull_request.base.sha' $GITHUB_EVENT_PATH)
-        echo "Base sha is $BASE_SHA, head sha is $GITHUB_SHA"
-
-        git fetch --no-tags --progress --recurse-submodules --depth=1 origin ${BASE_SHA}:origin/${BASE_SHA}
-        BASE_SHA=origin/${BASE_SHA}
-        echo "Base sha is $BASE_SHA, head sha is $GITHUB_SHA"
-
-        if ! files=$(git --no-pager diff --name-only ${GITHUB_SHA} ${BASE_SHA}); then
-          exit 1
-        fi
-
-        echo "Ignore pattern:"
-        for pattern in $(echo '${{ inputs.paths }}'); do
-          echo $pattern
-        done
-
-        echo "Changed files:"
-        for file in ${files}; do
-          echo $file
-        done
-
-        echo "SKIP_CI=true" >> $GITHUB_ENV
-        for file in ${files}; do
-          matched=0
-          for pattern in $(echo '${{ inputs.paths }}'); do
-            pattern=$(echo "$pattern" | sed 's/"//g')
-            if eval "[[ '$file' == $pattern ]]"; then
-              matched=1
-              break
-            fi
-          done
-          if [[ "$matched" == "0" ]]; then
-            echo "$file doesn't match pattern $(echo '${{ inputs.paths }}'), stop checking"
-            echo "SKIP_CI=false" >> $GITHUB_ENV
-            break
-          fi
-        done
diff --git a/.github/workflows/ci-it.yaml b/.github/workflows/ci-it.yaml
index 2e871a1..4f10b06 100644
--- a/.github/workflows/ci-it.yaml
+++ b/.github/workflows/ci-it.yaml
@@ -14,16 +14,15 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-name: CI AND IT
+name: CI
 
 on:
   pull_request:
   schedule:
     - cron: '0 18 * * *'  # TimeZone: UTC 0
-
-env:
-  MAVEN_OPTS: -XX:+TieredCompilation -XX:TieredStopAtLevel=1 -XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC -XX:-UseGCOverheadLimit
-  CODECOV_TOKEN: d2065307-8f01-4637-9715-2781ef096db7
+  push:
+    branches:
+      - test/ci/*
 
 concurrency:
   group: ci-it-${{ github.event.pull_request.number || github.ref }}
@@ -31,115 +30,41 @@ concurrency:
 
 jobs:
   CI:
-    if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')
-    runs-on: ubuntu-latest
-    timeout-minutes: 90
+    if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking-java') || (github.event_name != 'schedule')
+    runs-on: ${{ matrix.os }}-latest
+    timeout-minutes: 60
+    strategy:
+      fail-fast: true
+      matrix:
+        os: [ ubuntu, macos, windows ]
+        java-version: [ 8 ]
+        include:
+          - os: ubuntu
+            java-version: 11
     steps:
       - uses: actions/checkout@v2
         with:
           submodules: true
-      - name: Set Skip Env Var
-        uses: ./.github/actions/skip
       - name: Check License Header
-        if: env.SKIP_CI != 'true'
+        if: matrix.os == 'ubuntu' # Container GHA is only supported in Linux system
         uses: apache/skywalking-eyes@9bd5feb86b5817aa6072b008f9866a2c3bbc8587
         env:
           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
       - name: Cache local Maven repository
-        if: env.SKIP_CI != 'true'
         uses: actions/cache@v2
         with:
           path: ~/.m2/repository
-          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
-          restore-keys: |
-            ${{ runner.os }}-maven-
-      - uses: actions/setup-java@v1
-        if: env.SKIP_CI != 'true'
+          key: ${{ runner.os }}-maven-ci-${{ matrix.os }}
+          restore-keys: ${{ runner.os }}-maven-${{ matrix.os }}
+      - uses: actions/setup-java@v2
         with:
-          java-version: 8
-      - name: 'Check Javaagent Plugin List'
-        if: env.SKIP_CI != 'true'
+          distribution: adopt
+          java-version: ${{ matrix.java-version }}
+      - name: Check Javaagent Plugin List
         run: tools/plugin/check-javaagent-plugin-list.sh
-      - name: 'Install & Test'
-        if: env.SKIP_CI != 'true'
-        run: |
-          ./mvnw -q --batch-mode -P"agent,backend,ui,dist,CI-with-IT" clean cobertura:cobertura verify install javadoc:javadoc
-          bash <(curl -s https://codecov.io/bash)
-
-  CI-on-JDK11:
-    if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')
-    runs-on: ubuntu-latest
-    timeout-minutes: 90
-    steps:
-      - uses: actions/checkout@v2
-        with:
-          submodules: true
-      - name: Set Skip Env Var
-        uses: ./.github/actions/skip
-      - name: Check License Header
-        if: env.SKIP_CI != 'true'
-        uses: apache/skywalking-eyes@9bd5feb86b5817aa6072b008f9866a2c3bbc8587
-      - name: Cache local Maven repository
-        if: env.SKIP_CI != 'true'
-        uses: actions/cache@v2
-        with:
-          path: ~/.m2/repository
-          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
-          restore-keys: |
-            ${{ runner.os }}-maven-
-      - uses: actions/setup-java@v1
-        if: env.SKIP_CI != 'true'
-        with:
-          java-version: 11
-      - name: 'Install & Test'
-        if: env.SKIP_CI != 'true'
+      - name: Install and Test
+        if: matrix.java-version == '8'
+        run: ./mvnw -q --batch-mode clean verify install javadoc:javadoc
+      - name: Install and Test
+        if: matrix.java-version == '11'
         run: ./mvnw -q --batch-mode clean verify install
-
-  CI-on-Windows:
-    if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')
-    runs-on: windows-latest
-    timeout-minutes: 90
-    steps:
-      - uses: actions/checkout@v2
-        with:
-          submodules: true
-      - name: Set Skip Env Var
-        uses: ./.github/actions/skip
-      - uses: actions/setup-java@v1
-        if: env.SKIP_CI != 'true'
-        with:
-          java-version: 8
-      - name: 'Install & Test'
-        if: env.SKIP_CI != 'true'
-        run: |
-          ./mvnw -q --batch-mode clean verify install
-
-
-  CI-on-MacOS:
-    if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')
-    runs-on: macos-latest
-    timeout-minutes: 90
-    steps:
-      - uses: actions/checkout@v2
-        with:
-          submodules: true
-      - name: Set Skip Env Var
-        uses: ./.github/actions/skip
-      - name: Cache local Maven repository
-        if: env.SKIP_CI != 'true'
-        uses: actions/cache@v2
-        with:
-          path: ~/.m2/repository
-          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
-          restore-keys: |
-            ${{ runner.os }}-maven-
-      - uses: actions/setup-java@v1
-        if: env.SKIP_CI != 'true'
-        with:
-          java-version: 8
-      - name: 'Install & Test'
-        if: env.SKIP_CI != 'true'
-        run: |
-          # Given packaging on Mac has a high possibility to fail, we retry one more time here
-          ./mvnw -q --batch-mode clean verify install || \
-          ./mvnw -q --batch-mode clean verify install
diff --git a/.github/workflows/codeql.yaml b/.github/workflows/codeql.yaml
index e08fd63..6b093f6 100644
--- a/.github/workflows/codeql.yaml
+++ b/.github/workflows/codeql.yaml
@@ -18,9 +18,9 @@ name: "CodeQL"
 
 on:
   push:
-    branches: [ 'master' ]
+    branches: [ 'main' ]
   pull_request:
-    branches: [ 'master' ]
+    branches: [ 'main' ]
   schedule:
     - cron: '28 3 * * *'
 
diff --git a/.github/workflows/docker-ci.yaml b/.github/workflows/docker-ci.yaml
deleted file mode 100644
index a408b03..0000000
--- a/.github/workflows/docker-ci.yaml
+++ /dev/null
@@ -1,95 +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: docker-ci
-
-on:
-  pull_request:
-    paths:
-      - '**'
-      - '!**.md'
-  schedule:
-    - cron: '0 18 * * *'
-
-concurrency:
-  group: docker-ci-${{ github.event.pull_request.number || github.ref }}
-  cancel-in-progress: true
-
-env:
-  SKIP_TEST: true
-  DOCKER_DIR: ./docker
-  LOG_DIR: /tmp/skywalking
-jobs:
-  build:
-    if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')
-    runs-on: ubuntu-latest
-    timeout-minutes: 90
-    strategy:
-      fail-fast: true
-      matrix:
-        es: [es6, es7]
-    steps:
-      - uses: actions/checkout@v2
-        with:
-          submodules: true
-      - name: Cache local Maven repository
-        uses: actions/cache@v2
-        with:
-          path: ~/.m2/repository
-          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
-          restore-keys: |
-            ${{ runner.os }}-maven-
-      - uses: actions/cache@v1
-        with:
-          path: ~/.m2/repository
-          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
-          restore-keys: |
-            ${{ runner.os }}-maven-
-      - name: Build docker image
-        run: export ES_VERSION=${{ matrix.es }} && export TAG=${{ matrix.es }} && (make docker || make docker)
-      - name: Bootstrap cluster
-        run: |
-          case ${{ matrix.es }} in
-          es6) export ES_TAG=6.8.1 ;;
-          es7) export ES_TAG=7.5.0 ;;
-          esac
-
-          export TAG=${{ matrix.es }}
-          cd ${DOCKER_DIR} && docker-compose up -d
-      - name: Check port available
-        run: |
-          source ./test/scripts/env.sh
-          echo "Waiting for OAP ready"
-          export PORT=11800
-          check_sw_port
-          echo "OAP is ready"
-          echo "Waiting for UI ready"
-          PORT=8080
-          check_sw_port
-          echo "UI is ready"
-      - name: Collect logs
-        run: |
-          mkdir -p ${LOG_DIR}
-          cd ${DOCKER_DIR}
-          docker-compose logs oap > ${LOG_DIR}/oap.txt
-          docker-compose logs ui > ${LOG_DIR}/ui.txt
-          docker-compose logs elasticsearch > ${LOG_DIR}/es.txt
-        continue-on-error: true
-      - uses: actions/upload-artifact@v1.0.0
-        continue-on-error: true
-        with:
-          name: logs
-          path: /tmp/skywalking
diff --git a/.github/workflows/e2e.alarm.yaml b/.github/workflows/e2e.alarm.yaml
deleted file mode 100644
index 4404e8c..0000000
--- a/.github/workflows/e2e.alarm.yaml
+++ /dev/null
@@ -1,54 +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: E2E
-
-on:
-  pull_request:
-    paths:
-      - '**'
-      - '!**.md'
-  schedule:
-    - cron: '0 18 * * *'
-
-env:
-  SW_AGENT_JDK_VERSION: 8
-
-concurrency:
-  group: e2e-alarm-${{ github.event.pull_request.number || github.ref }}
-  cancel-in-progress: true
-
-jobs:
-  Alarm:
-    if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')
-    name: Alarm
-    runs-on: ubuntu-latest
-    strategy:
-      matrix:
-        storage: ['h2', 'mysql', 'es6', 'es7', 'influxdb', 'postgres']
-    env:
-      SW_STORAGE: ${{ matrix.storage }}
-    steps:
-      - uses: actions/checkout@v2
-        with:
-          submodules: true
-      - name: Set Skip Env Var
-        uses: ./.github/actions/skip
-      - name: Run E2E Test
-        if: env.SKIP_CI != 'true'
-        uses: ./.github/actions/e2e-test
-        with:
-          test_class: org.apache.skywalking.e2e.alarm.AlarmE2E
diff --git a/.github/workflows/e2e.cluster.yaml b/.github/workflows/e2e.cluster.yaml
deleted file mode 100644
index fb46869..0000000
--- a/.github/workflows/e2e.cluster.yaml
+++ /dev/null
@@ -1,63 +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: E2E
-
-on:
-  pull_request:
-  schedule:
-    - cron: '0 18 * * *'
-
-env:
-  SW_AGENT_JDK_VERSION: 8
-
-concurrency:
-  group: e2e-cluster-${{ github.event.pull_request.number || github.ref }}
-  cancel-in-progress: true
-
-jobs:
-  CoordinatorsStorage:
-    if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')
-    name: Coordinators & Storage
-    timeout-minutes: 90
-    runs-on: ubuntu-latest
-    strategy:
-      matrix:
-        coordinator: ['zk']
-        storage: ['mysql', 'es6', 'es7', 'influxdb']
-    env:
-      SW_COORDINATOR: ${{ matrix.coordinator }}
-      SW_STORAGE: ${{ matrix.storage }}
-    steps:
-      - uses: actions/checkout@v2
-        with:
-          submodules: true
-      - name: Set Skip Env Var
-        uses: ./.github/actions/skip
-      - name: Run E2E Test
-        if: env.SKIP_CI != 'true'
-        uses: ./.github/actions/e2e-test
-        with:
-          test_class: org.apache.skywalking.e2e.ClusterE2E
-
-  Cluster:
-    if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')
-    runs-on: ubuntu-latest
-    timeout-minutes: 90
-    needs: [CoordinatorsStorage]
-    steps:
-      - name: Call me by your name
-        run: echo "Birds of a feather flock together"
diff --git a/.github/workflows/e2e.compat.yaml b/.github/workflows/e2e.compat.yaml
deleted file mode 100644
index 28e03fe..0000000
--- a/.github/workflows/e2e.compat.yaml
+++ /dev/null
@@ -1,53 +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: E2E
-
-on:
-  pull_request:
-  schedule:
-    - cron: '0 18 * * *'
-
-concurrency:
-  group: e2e-compat-${{ github.event.pull_request.number || github.ref }}
-  cancel-in-progress: true
-
-jobs:
-  Compatibility:
-    if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')
-    name: Compatibility
-    runs-on: ubuntu-latest
-    timeout-minutes: 60
-    env:
-      SW_SIMPLE_CASE: compat
-      SW_AGENT_JDK_VERSION: 11
-      SW_OAP_BASE_IMAGE: adoptopenjdk/openjdk11:alpine
-    steps:
-      - uses: actions/checkout@v2
-        with:
-          submodules: true
-      - name: Set Skip Env Var
-        uses: ./.github/actions/skip
-      - name: Set Up Java
-        if: env.SKIP_CI != 'true'
-        uses: actions/setup-java@v1
-        with:
-          java-version: 11
-      - name: Run E2E Test
-        if: env.SKIP_CI != 'true'
-        uses: ./.github/actions/e2e-test
-        with:
-          test_class: org.apache.skywalking.e2e.compat.CompatE2E
diff --git a/.github/workflows/e2e.event.yaml b/.github/workflows/e2e.event.yaml
deleted file mode 100644
index 13abeb8..0000000
--- a/.github/workflows/e2e.event.yaml
+++ /dev/null
@@ -1,54 +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: E2E
-
-on:
-  pull_request:
-    paths:
-      - '**'
-      - '!**.md'
-  schedule:
-    - cron: '0 18 * * *'
-
-concurrency:
-  group: e2e-event-${{ github.event.pull_request.number || github.ref }}
-  cancel-in-progress: true
-
-env:
-  SKIP_TEST: true
-
-jobs:
-  Event:
-    if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')
-    name: Event
-    runs-on: ubuntu-latest
-    strategy:
-      matrix:
-        storage: ['h2', 'mysql', 'es6', 'es7.0', 'influxdb']
-    env:
-      SW_STORAGE: ${{ matrix.storage }}
-    steps:
-      - uses: actions/checkout@v2
-        with:
-          submodules: true
-      - name: Set Skip Env Var
-        uses: ./.github/actions/skip
-      - name: Run E2E Test
-        if: env.SKIP_CI != 'true'
-        uses: ./.github/actions/e2e-test
-        with:
-          test_class: org.apache.skywalking.e2e.event.EventE2E
diff --git a/.github/workflows/e2e.go.yaml b/.github/workflows/e2e.go.yaml
deleted file mode 100644
index c594d03..0000000
--- a/.github/workflows/e2e.go.yaml
+++ /dev/null
@@ -1,50 +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: E2E
-
-on:
-  pull_request:
-    paths:
-      - '**'
-      - '!**.md'
-  schedule:
-    - cron: '0 18 * * *'
-
-env:
-  SW_AGENT_JDK_VERSION: 8
-
-concurrency:
-  group: e2e-go-${{ github.event.pull_request.number || github.ref }}
-  cancel-in-progress: true
-
-jobs:
-  GOAgent:
-    if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')
-    name: GO2SKY
-    runs-on: ubuntu-latest
-    timeout-minutes: 90
-    steps:
-      - uses: actions/checkout@v2
-        with:
-          submodules: true
-      - name: Set Skip Env Var
-        uses: ./.github/actions/skip
-      - name: Run E2E Test
-        if: env.SKIP_CI != 'true'
-        uses: ./.github/actions/e2e-test
-        with:
-          test_class: org.apache.skywalking.e2e.GOE2E
diff --git a/.github/workflows/e2e.istio.yaml b/.github/workflows/e2e.istio.yaml
deleted file mode 100644
index c11e2ae..0000000
--- a/.github/workflows/e2e.istio.yaml
+++ /dev/null
@@ -1,319 +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: Istio
-
-on:
-  pull_request:
-    paths:
-      - '**'
-      - '!**.md'
-  schedule:
-    - cron: '0 18 * * *'
-
-env:
-  SKIP_TEST: true
-  ES_VERSION: es7
-  TAG: ${{ github.sha }}
-  SCRIPTS_DIR: test/e2e-mesh/e2e-istio/scripts
-  SW_OAP_BASE_IMAGE: openjdk:11-jdk
-  SW_KUBERNETES_COMMIT_SHA: 6d5897616ce30ebb1706c0cf566ac36f733d93e0
-
-concurrency:
-  group: e2e-istio-${{ github.event.pull_request.number || github.ref }}
-  cancel-in-progress: true
-
-jobs:
-  als:
-    if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')
-    runs-on: ubuntu-latest
-    timeout-minutes: 60
-    strategy:
-      fail-fast: true
-      matrix:
-        analyzer: [k8s-mesh, mx-mesh]
-        istio_version: [1.7.1, 1.8.2, 1.9.1]
-    name: Istio(${{ matrix.istio_version }})+ALS(${{ matrix.analyzer }})
-    env:
-      ISTIO_VERSION: ${{ matrix.istio_version }}
-    steps:
-      - uses: actions/checkout@v2
-        with:
-          submodules: true
-
-      - name: Check Unintended Changes
-        run: |
-          echo "::group::Check sw.version"
-          sudo apt install -y -q xmlstarlet
-          SW_VERSION=$(xmlstarlet sel -N pom=http://maven.apache.org/POM/4.0.0 -t -v "/pom:project/pom:properties/pom:sw.version" test/e2e/pom.xml)
-          if [[ "$(echo $(echo $SW_VERSION))" != "" ]]; then
-            echo "::error Please don't submit the change of sw.version in test/e2e/pom.xml"
-            exit 1
-          fi
-          echo "::endgroup::"
-
-      - name: Set Skip Env Var
-        uses: ./.github/actions/skip
-
-      - uses: actions/cache@v2
-        if: env.SKIP_CI != 'true'
-        with:
-          path: ~/.m2/repository
-          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
-          restore-keys: ${{ runner.os }}-maven-
-
-      - name: Build Docker Image
-        if: env.SKIP_CI != 'true'
-        run: make docker
-
-      - name: Prepare environment
-        if: env.SKIP_CI != 'true'
-        run: bash ${SCRIPTS_DIR}/pre.sh
-
-      - name: Install Minikube
-        if: env.SKIP_CI != 'true'
-        run: bash ${SCRIPTS_DIR}/minikube.sh start
-
-      - name: Install Istio
-        if: env.SKIP_CI != 'true'
-        run: bash ${SCRIPTS_DIR}/istio.sh --set profile=demo --set meshConfig.defaultConfig.envoyAccessLogService.address=skywalking-oap.istio-system:11800 --set meshConfig.enableEnvoyAccessLogService=true
-
-      - name: Install SkyWalking
-        if: env.SKIP_CI != 'true'
-        run: |
-          git clone https://github.com/apache/skywalking-kubernetes.git
-          cd skywalking-kubernetes
-          git reset --hard $SW_KUBERNETES_COMMIT_SHA
-          cd chart
-          mkdir -p skywalking/files/conf.d/oap/ && cp ../../test/e2e/e2e-test/src/test/resources/metadata-service-mapping.yaml skywalking/files/conf.d/oap/metadata-service-mapping.yaml
-          helm dep up skywalking
-          helm -n istio-system install skywalking skywalking \
-               --set fullnameOverride=skywalking \
-               --set elasticsearch.replicas=1 \
-               --set elasticsearch.minimumMasterNodes=1 \
-               --set elasticsearch.imageTag=7.5.1 \
-               --set oap.env.SW_ENVOY_METRIC_ALS_HTTP_ANALYSIS=${{ matrix.analyzer }} \
-               --set oap.env.SW_ENVOY_METRIC_ALS_TCP_ANALYSIS=${{ matrix.analyzer }} \
-               --set oap.env.K8S_SERVICE_NAME_RULE='e2e::${service.metadata.name}' \
-               --set oap.envoy.als.enabled=true \
-               --set oap.replicas=1 \
-               --set ui.image.repository=skywalking/ui \
-               --set ui.image.tag=$TAG \
-               --set oap.image.tag=$TAG \
-               --set oap.image.repository=skywalking/oap \
-               --set oap.storageType=elasticsearch7
-          kubectl -n istio-system get pods
-
-          sleep 3
-          kubectl -n istio-system wait --for=condition=available deployments/skywalking-oap --timeout=1200s
-          kubectl get pods -A -o wide --show-labels
-          kubectl get services -A -o wide
-
-      - name: Deploy demo services
-        if: env.SKIP_CI != 'true'
-        run: |
-          bash ${SCRIPTS_DIR}/demo.sh
-          # Enable TCP services
-          kubectl apply -f https://raw.githubusercontent.com/istio/istio/$ISTIO_VERSION/samples/bookinfo/platform/kube/bookinfo-ratings-v2.yaml
-          kubectl apply -f https://raw.githubusercontent.com/istio/istio/$ISTIO_VERSION/samples/bookinfo/platform/kube/bookinfo-db.yaml
-          kubectl apply -f https://raw.githubusercontent.com/istio/istio/$ISTIO_VERSION/samples/bookinfo/networking/destination-rule-all.yaml
-          kubectl apply -f https://raw.githubusercontent.com/istio/istio/$ISTIO_VERSION/samples/bookinfo/networking/virtual-service-ratings-db.yaml
-
-      - name: Cluster Info
-        if: ${{ failure() }}
-        run: |
-          df -h
-          minikube logs
-          minikube status
-
-      - name: Set up Minikube tunnel
-        if: env.SKIP_CI != 'true'
-        run: |
-          mkdir /tmp/minikube-tunnel
-          minikube tunnel > /tmp/minikube-tunnel/a.log &
-          export POD_NAME=$(kubectl get pods -n istio-system -l "app=skywalking,release=skywalking,component=ui" -o jsonpath="{.items[0].metadata.name}")
-          echo $POD_NAME
-          kubectl -n istio-system port-forward $POD_NAME 8080:8080 > /tmp/minikube-tunnel/b.log &
-
-      - name: Run E2E test
-        if: env.SKIP_CI != 'true'
-        run: |
-          export GATEWAY_HOST=$(minikube ip)
-          export GATEWAY_PORT=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="http2")].nodePort}')
-          export WEBAPP_HOST=127.0.0.1
-          export WEBAPP_PORT=8080
-
-          export SW_VERSION=$(./mvnw -q -DforceStdout -N org.apache.maven.plugins:maven-help-plugin:3.2.0:evaluate -Dexpression=project.version)
-
-          ./mvnw -q -DskipTests -N install
-          ./mvnw -q -f apm-application-toolkit -DskipTests -am install
-
-          ./mvnw -q --batch-mode -f test/e2e/pom.xml -am -DfailIfNoTests=false -Dsw.version=${SW_VERSION} verify -Dit.test=org.apache.skywalking.e2e.mesh.ALSE2E
-
-      - name: Logs
-        if: ${{ failure() }}
-        continue-on-error: true
-        run: |
-          kubectl -n istio-system logs --tail=10000 -l "app=skywalking,release=skywalking,component=ui"
-          kubectl -n istio-system logs --tail=10000 -l "app=skywalking,release=skywalking,component=oap"
-          cat /tmp/minikube-tunnel/*
-
-      - name: Clean up
-        if: env.SKIP_CI != 'true'
-        continue-on-error: true
-        run: minikube delete
-
-  metrics-service:
-    if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')
-    runs-on: ubuntu-latest
-    timeout-minutes: 60
-    name: Istio(${{ matrix.istio_version }})+MetricsService
-    strategy:
-      fail-fast: true
-      matrix:
-        istio_version: [1.8.2, 1.9.1]
-    env:
-      ISTIO_VERSION: ${{ matrix.istio_version }}
-    steps:
-      - uses: actions/checkout@v2
-        with:
-          submodules: true
-
-      - name: Check Unintended Changes
-        run: |
-          echo "::group::Check sw.version"
-          sudo apt install -y -q xmlstarlet
-          SW_VERSION=$(xmlstarlet sel -N pom=http://maven.apache.org/POM/4.0.0 -t -v "/pom:project/pom:properties/pom:sw.version" test/e2e/pom.xml)
-          if [[ "$(echo $(echo $SW_VERSION))" != "" ]]; then
-            echo "Please don't submit the change of sw.version in test/e2e/pom.xml"
-            exit 1
-          fi
-          echo "::endgroup::"
-
-      - name: Set Skip Env Var
-        uses: ./.github/actions/skip
-
-      - uses: actions/cache@v2
-        if: env.SKIP_CI != 'true'
-        with:
-          path: ~/.m2/repository
-          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
-          restore-keys: ${{ runner.os }}-maven-
-
-      - name: Build Docker Image
-        if: env.SKIP_CI != 'true'
-        run: make docker
-
-      - name: Prepare environment
-        if: env.SKIP_CI != 'true'
-        run: bash ${SCRIPTS_DIR}/pre.sh
-
-      - name: Install Minikube
-        if: env.SKIP_CI != 'true'
-        run: bash ${SCRIPTS_DIR}/minikube.sh start
-
-      - name: Install Istio
-        if: env.SKIP_CI != 'true'
-        run: |
-          bash ${SCRIPTS_DIR}/istio.sh \
-            --set profile=demo \
-            --set meshConfig.defaultConfig.envoyMetricsService.address=skywalking-oap.istio-system:11800 \
-            --set 'meshConfig.defaultConfig.proxyStatsMatcher.inclusionRegexps[0]=.*membership_healthy.*' \
-            --set 'meshConfig.defaultConfig.proxyStatsMatcher.inclusionRegexps[1]=.*upstream_cx_active.*' \
-            --set 'meshConfig.defaultConfig.proxyStatsMatcher.inclusionRegexps[2]=.*upstream_cx_total.*' \
-            --set 'meshConfig.defaultConfig.proxyStatsMatcher.inclusionRegexps[3]=.*upstream_rq_active.*' \
-            --set 'meshConfig.defaultConfig.proxyStatsMatcher.inclusionRegexps[4]=.*upstream_rq_total.*' \
-            --set 'meshConfig.defaultConfig.proxyStatsMatcher.inclusionRegexps[5]=.*upstream_rq_pending_active.*' \
-            --set 'meshConfig.defaultConfig.proxyStatsMatcher.inclusionRegexps[6]=.*lb_healthy_panic.*' \
-            --set 'meshConfig.defaultConfig.proxyStatsMatcher.inclusionRegexps[7]=.*upstream_cx_none_healthy.*' \
-            --set values.telemetry.v2.enabled=false # disable the metadata-exchange extension intentionally to make sure metrics service doesn't rely on it
-
-      - name: Install SkyWalking
-        if: env.SKIP_CI != 'true'
-        run: |
-          git clone https://github.com/apache/skywalking-kubernetes.git
-          cd skywalking-kubernetes
-          git reset --hard $SW_KUBERNETES_COMMIT_SHA
-          cd chart
-          mkdir -p skywalking/files/conf.d/oap/ && cp ../../test/e2e/e2e-test/src/test/resources/metadata-service-mapping.yaml skywalking/files/conf.d/oap/metadata-service-mapping.yaml
-          helm dep up skywalking
-          helm -n istio-system install skywalking skywalking \
-               --set fullnameOverride=skywalking \
-               --set elasticsearch.replicas=1 \
-               --set elasticsearch.minimumMasterNodes=1 \
-               --set elasticsearch.imageTag=7.5.1 \
-               --set oap.replicas=1 \
-               --set ui.image.repository=skywalking/ui \
-               --set ui.image.tag=$TAG \
-               --set oap.image.tag=$TAG \
-               --set oap.image.repository=skywalking/oap \
-               --set oap.storageType=elasticsearch7
-          kubectl -n istio-system get pods
-
-          sleep 3
-          kubectl -n istio-system wait --for=condition=available deployments/skywalking-oap --timeout=1200s
-          kubectl get pods -A -o wide --show-labels
-          kubectl get services -A -o wide
-
-      - name: Deploy demo services
-        if: env.SKIP_CI != 'true'
-        run: |
-          bash ${SCRIPTS_DIR}/demo.sh
-          kubectl apply -f https://raw.githubusercontent.com/istio/istio/$ISTIO_VERSION/samples/bookinfo/networking/destination-rule-all.yaml
-          kubectl apply -f https://raw.githubusercontent.com/istio/istio/$ISTIO_VERSION/samples/bookinfo/networking/virtual-service-all-v1.yaml
-
-      - name: Cluster Info
-        if: ${{ failure() }}
-        run: |
-          df -h
-          minikube logs
-          minikube status
-
-      - name: Set up Minikube tunnel
-        if: env.SKIP_CI != 'true'
-        run: |
-          mkdir /tmp/minikube-tunnel
-          minikube tunnel > /tmp/minikube-tunnel/a.log &
-          export POD_NAME=$(kubectl get pods -n istio-system -l "app=skywalking,release=skywalking,component=ui" -o jsonpath="{.items[0].metadata.name}")
-          echo $POD_NAME
-          kubectl -n istio-system port-forward $POD_NAME 8080:8080 > /tmp/minikube-tunnel/b.log &
-
-      - name: Run E2E test
-        if: env.SKIP_CI != 'true'
-        run: |
-          export GATEWAY_HOST=$(minikube ip)
-          export GATEWAY_PORT=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="http2")].nodePort}')
-          export WEBAPP_HOST=127.0.0.1
-          export WEBAPP_PORT=8080
-
-          export SW_VERSION=$(./mvnw -q -DforceStdout -N org.apache.maven.plugins:maven-help-plugin:3.2.0:evaluate -Dexpression=project.version)
-
-          ./mvnw -q -DskipTests -N install
-          ./mvnw -q -f apm-application-toolkit -DskipTests -am install
-
-          ./mvnw -q --batch-mode -f test/e2e/pom.xml -am -DfailIfNoTests=false -Dsw.version=${SW_VERSION} verify -Dit.test=org.apache.skywalking.e2e.mesh.MetricsServiceE2E
-
-      - name: Logs
-        if: ${{ failure() }}
-        continue-on-error: true
-        run: |
-          kubectl -n istio-system logs --tail=10000 -l "app=skywalking,release=skywalking,component=ui"
-          kubectl -n istio-system logs --tail=10000 -l "app=skywalking,release=skywalking,component=oap"
-          cat /tmp/minikube-tunnel/*
-
-      - name: Clean up
-        if: env.SKIP_CI != 'true'
-        run: minikube delete
diff --git a/.github/workflows/e2e.jdk-versions.yaml b/.github/workflows/e2e.jdk-versions.yaml
deleted file mode 100644
index 2a9faa8..0000000
--- a/.github/workflows/e2e.jdk-versions.yaml
+++ /dev/null
@@ -1,66 +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: E2E
-
-on:
-  pull_request:
-  schedule:
-    - cron: '0 18 * * *'
-
-concurrency:
-  group: e2e-jdk-versions-${{ github.event.pull_request.number || github.ref }}
-  cancel-in-progress: true
-
-jobs:
-  JavaVersions:
-    if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')
-    name: Agent Java Versions
-    runs-on: ubuntu-latest
-    timeout-minutes: 90
-    strategy:
-      matrix:
-        jdk: [8, 9, 10, 11, 12, 13, 14, 15, 16]
-    env:
-      SW_SIMPLE_CASE: jdk
-      SW_AGENT_JDK_VERSION: ${{ matrix.jdk }}
-      SW_OAP_BASE_IMAGE: adoptopenjdk/openjdk${{ matrix.jdk }}:alpine
-    steps:
-      - uses: actions/checkout@v2
-        with:
-          submodules: true
-          depth: 0
-      - name: Set Skip Env Var
-        uses: ./.github/actions/skip
-      - name: Set Up Java
-        if: env.SKIP_CI != 'true'
-        uses: actions/setup-java@v1
-        with:
-          java-version: ${{ matrix.jdk }}
-      - name: Run E2E Test
-        if: env.SKIP_CI != 'true'
-        uses: ./.github/actions/e2e-test
-        with:
-          test_class: org.apache.skywalking.e2e.simple.SimpleE2E
-
-  Single:
-    if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')
-    runs-on: ubuntu-latest
-    timeout-minutes: 90
-    needs: [JavaVersions]
-    steps:
-      - name: Singles Bar
-        run: echo "Singles Bar - Miyuki Nakajima"
diff --git a/.github/workflows/e2e.js.yaml b/.github/workflows/e2e.js.yaml
deleted file mode 100644
index e364900..0000000
--- a/.github/workflows/e2e.js.yaml
+++ /dev/null
@@ -1,69 +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: E2E
-
-on:
-  pull_request:
-    paths:
-      - '**'
-      - '!**.md'
-  schedule:
-    - cron: '0 18 * * *'
-
-env:
-  SW_AGENT_JDK_VERSION: 8
-
-concurrency:
-  group: e2e-js-${{ github.event.pull_request.number || github.ref }}
-  cancel-in-progress: true
-
-jobs:
-  JavaScriptClient:
-    if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')
-    name: Java Script Client
-    runs-on: ubuntu-latest
-    strategy:
-      matrix:
-        storage: [ 'h2', 'mysql', 'es6', 'es7', 'influxdb' ]
-    env:
-      SW_STORAGE: ${{ matrix.storage }}
-    steps:
-      - uses: actions/checkout@v2
-        with:
-          submodules: true
-      - name: Set Skip Env Var
-        uses: ./.github/actions/skip
-      - name: Run E2E Test
-        if: env.SKIP_CI != 'true'
-        uses: ./.github/actions/e2e-test
-        with:
-          test_class: org.apache.skywalking.e2e.browser.BrowserE2E
-  JavaScriptClientWithRealAgent:
-    if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')
-    name: Java Script Client With Real Agent
-    runs-on: ubuntu-latest
-    steps:
-      - uses: actions/checkout@v2
-        with:
-          submodules: true
-      - name: Set Skip Env Var
-        uses: ./.github/actions/skip
-      - name: Run E2E Test
-        if: env.SKIP_CI != 'true'
-        uses: ./.github/actions/e2e-test
-        with:
-          test_class: org.apache.skywalking.e2e.browser.BrowserWithClientJSE2E
diff --git a/.github/workflows/e2e.kafka.yaml b/.github/workflows/e2e.kafka.yaml
deleted file mode 100644
index fdbbd81..0000000
--- a/.github/workflows/e2e.kafka.yaml
+++ /dev/null
@@ -1,62 +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: E2E
-
-on:
-  pull_request:
-    paths:
-      - '**'
-      - '!**.md'
-  schedule:
-    - cron: '0 18 * * *'
-
-env:
-  SW_AGENT_JDK_VERSION: 8
-  SW_STORAGE: influxdb
-
-concurrency:
-  group: e2e-kafka-${{ github.event.pull_request.number || github.ref }}
-  cancel-in-progress: true
-
-jobs:
-  Kafka:
-    if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')
-    name: Kafka (${{ matrix.case.name }})
-    runs-on: ubuntu-latest
-    timeout-minutes: 90
-    strategy:
-      matrix:
-        case:
-          - name: Base
-            class: org.apache.skywalking.e2e.kafka.KafkaE2E
-          - name: Profiling
-            class: org.apache.skywalking.e2e.kafka.KafkaProfileE2E
-          - name: Meter
-            class: org.apache.skywalking.e2e.kafka.KafkaMeterE2E
-          - name: Log
-            class: org.apache.skywalking.e2e.kafka.KafkaLogE2E
-    steps:
-      - uses: actions/checkout@v2
-        with:
-          submodules: true
-      - name: Set Skip Env Var
-        uses: ./.github/actions/skip
-      - name: Run E2E Test
-        if: env.SKIP_CI != 'true'
-        uses: ./.github/actions/e2e-test
-        with:
-          test_class: ${{ matrix.case.class }}
diff --git a/.github/workflows/e2e.log.yaml b/.github/workflows/e2e.log.yaml
deleted file mode 100644
index 46f4c95..0000000
--- a/.github/workflows/e2e.log.yaml
+++ /dev/null
@@ -1,71 +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: E2E
-
-on:
-  pull_request:
-    paths:
-      - '**'
-      - '!**.md'
-  schedule:
-    - cron: '0 18 * * *'
-
-env:
-  SW_AGENT_JDK_VERSION: 8
-
-concurrency:
-  group: e2e-log-${{ github.event.pull_request.number || github.ref }}
-  cancel-in-progress: true
-
-jobs:
-  Log:
-    if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')
-    name: Log
-    runs-on: ubuntu-latest
-    timeout-minutes: 90
-    strategy:
-      matrix:
-        storage: ['h2', 'mysql', 'es6', 'es7', 'es7.14', 'influxdb']
-    env:
-      SW_STORAGE: ${{ matrix.storage }}
-    steps:
-      - uses: actions/checkout@v2
-        with:
-          submodules: true
-      - name: Set Skip Env Var
-        uses: ./.github/actions/skip
-      - name: Run E2E Test
-        if: env.SKIP_CI != 'true'
-        uses: ./.github/actions/e2e-test
-        with:
-          test_class: org.apache.skywalking.e2e.log.LogE2E
-
-  LogFluentBit:
-    if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')
-    name: Log (FluentBit)
-    runs-on: ubuntu-latest
-    steps:
-      - uses: actions/checkout@v2
-        with:
-          submodules: true
-      - name: Set Skip Env Var
-        uses: ./.github/actions/skip
-      - name: Run E2E Test
-        if: env.SKIP_CI != 'true'
-        uses: ./.github/actions/e2e-test
-        with:
-          test_class: org.apache.skywalking.e2e.log.LogFluentBitE2E
diff --git a/.github/workflows/e2e.nodejs.yaml b/.github/workflows/e2e.nodejs.yaml
deleted file mode 100644
index 4084cc7..0000000
--- a/.github/workflows/e2e.nodejs.yaml
+++ /dev/null
@@ -1,50 +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: E2E
-
-on:
-  pull_request:
-    paths:
-      - '**'
-      - '!**.md'
-  schedule:
-    - cron: '0 18 * * *'
-
-env:
-  SW_AGENT_JDK_VERSION: 8
-
-concurrency:
-  group: e2e-nodejs-${{ github.event.pull_request.number || github.ref }}
-  cancel-in-progress: true
-
-jobs:
-  NodeJSAgent:
-    if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')
-    name: NodeJSAgent
-    runs-on: ubuntu-latest
-    timeout-minutes: 30
-    steps:
-      - uses: actions/checkout@v2
-        with:
-          submodules: true
-      - name: Set Skip Env Var
-        uses: ./.github/actions/skip
-      - name: Run E2E Test
-        if: env.SKIP_CI != 'true'
-        uses: ./.github/actions/e2e-test
-        with:
-          test_class: org.apache.skywalking.e2e.NodeJSE2E
diff --git a/.github/workflows/e2e.php.yaml b/.github/workflows/e2e.php.yaml
deleted file mode 100644
index bf24610..0000000
--- a/.github/workflows/e2e.php.yaml
+++ /dev/null
@@ -1,47 +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: E2E
-
-on:
-  pull_request:
-    paths:
-      - '**'
-      - '!**.md'
-  schedule:
-    - cron: '0 18 * * *'
-
-concurrency:
-  group: e2e-php-${{ github.event.pull_request.number || github.ref }}
-  cancel-in-progress: true
-
-jobs:
-  PHPAgent:
-    if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')
-    name: PHP
-    runs-on: ubuntu-latest
-    timeout-minutes: 90
-    steps:
-      - uses: actions/checkout@v2
-        with:
-          submodules: true
-      - name: Set Skip Env Var
-        uses: ./.github/actions/skip
-      - name: Run E2E Test
-        if: env.SKIP_CI != 'true'
-        uses: ./.github/actions/e2e-test
-        with:
-          test_class: org.apache.skywalking.e2e.PHPE2E
diff --git a/.github/workflows/e2e.profiling.yaml b/.github/workflows/e2e.profiling.yaml
deleted file mode 100644
index bc7daf6..0000000
--- a/.github/workflows/e2e.profiling.yaml
+++ /dev/null
@@ -1,55 +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: E2E
-
-on:
-  pull_request:
-    paths:
-      - '**'
-      - '!**.md'
-  schedule:
-    - cron: '0 18 * * *'
-
-env:
-  SW_AGENT_JDK_VERSION: 8
-
-concurrency:
-  group: e2e-profiling-${{ github.event.pull_request.number || github.ref }}
-  cancel-in-progress: true
-
-jobs:
-  Profiling:
-    if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')
-    name: Profiling
-    runs-on: ubuntu-latest
-    timeout-minutes: 90
-    strategy:
-      matrix:
-        storage: ['h2', 'mysql', 'es6', 'es7', 'influxdb']
-    env:
-      SW_STORAGE: ${{ matrix.storage }}
-    steps:
-      - uses: actions/checkout@v2
-        with:
-          submodules: true
-      - name: Set Skip Env Var
-        uses: ./.github/actions/skip
-      - name: Run E2E Test
-        if: env.SKIP_CI != 'true'
-        uses: ./.github/actions/e2e-test
-        with:
-          test_class: org.apache.skywalking.e2e.profile.ProfileE2E
diff --git a/.github/workflows/e2e.python.yaml b/.github/workflows/e2e.python.yaml
deleted file mode 100644
index 152bc46..0000000
--- a/.github/workflows/e2e.python.yaml
+++ /dev/null
@@ -1,50 +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: E2E
-
-on:
-  pull_request:
-    paths:
-      - '**'
-      - '!**.md'
-  schedule:
-    - cron: '0 18 * * *'
-
-env:
-  SW_AGENT_JDK_VERSION: 8
-
-concurrency:
-  group: e2e-python-${{ github.event.pull_request.number || github.ref }}
-  cancel-in-progress: true
-
-jobs:
-  PythonAgent:
-    if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')
-    name: PythonAgent
-    runs-on: ubuntu-latest
-    timeout-minutes: 30
-    steps:
-      - uses: actions/checkout@v2
-        with:
-          submodules: true
-      - name: Set Skip Env Var
-        uses: ./.github/actions/skip
-      - name: Run E2E Test
-        if: env.SKIP_CI != 'true'
-        uses: ./.github/actions/e2e-test
-        with:
-          test_class: org.apache.skywalking.e2e.PythonE2E
diff --git a/.github/workflows/e2e.so11y.yaml b/.github/workflows/e2e.so11y.yaml
deleted file mode 100644
index cb3b945..0000000
--- a/.github/workflows/e2e.so11y.yaml
+++ /dev/null
@@ -1,50 +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: E2E
-
-on:
-  pull_request:
-    paths:
-      - '**'
-      - '!**.md'
-  schedule:
-    - cron: '0 18 * * *'
-
-env:
-  SW_AGENT_JDK_VERSION: 8
-
-concurrency:
-  group: e2e-so11y-${{ github.event.pull_request.number || github.ref }}
-  cancel-in-progress: true
-
-jobs:
-  SelfObservability:
-    if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')
-    name: SelfObservability
-    runs-on: ubuntu-latest
-    timeout-minutes: 90
-    steps:
-      - uses: actions/checkout@v2
-        with:
-          submodules: true
-      - name: Set Skip Env Var
-        uses: ./.github/actions/skip
-      - name: Run E2E Test
-        if: env.SKIP_CI != 'true'
-        uses: ./.github/actions/e2e-test
-        with:
-          test_class: org.apache.skywalking.e2e.SO11yE2E
diff --git a/.github/workflows/e2e.storages.yaml b/.github/workflows/e2e.storages.yaml
deleted file mode 100644
index ea4ba9c..0000000
--- a/.github/workflows/e2e.storages.yaml
+++ /dev/null
@@ -1,61 +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: E2E
-
-on:
-  pull_request:
-  schedule:
-    - cron: '0 18 * * *'
-
-env:
-  SW_AGENT_JDK_VERSION: 8
-
-concurrency:
-  group: e2e-storages-${{ github.event.pull_request.number || github.ref }}
-  cancel-in-progress: true
-
-jobs:
-  StoragePlugins:
-    if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')
-    name: Storage
-    runs-on: ubuntu-latest
-    timeout-minutes: 90
-    strategy:
-      matrix:
-        storage: ['mysql', 'es6', 'es7.0', 'es7.10', 'es7.14', 'opensearch', 'influxdb', 'tidb', 'postgresql']
-    env:
-      SW_STORAGE: ${{ matrix.storage }}
-    steps:
-      - uses: actions/checkout@v2
-        with:
-          submodules: true
-      - name: Set Skip Env Var
-        uses: ./.github/actions/skip
-      - name: Run E2E Test
-        if: env.SKIP_CI != 'true'
-        uses: ./.github/actions/e2e-test
-        with:
-          test_class: org.apache.skywalking.e2e.storage.StorageE2E
-
-  Storage:
-    if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')
-    runs-on: ubuntu-latest
-    timeout-minutes: 90
-    needs: [StoragePlugins]
-    steps:
-      - name: To pass or not pass
-        run: echo "Just to make the GitHub merge button green"
diff --git a/.github/workflows/e2e.ttl.yaml b/.github/workflows/e2e.ttl.yaml
deleted file mode 100644
index 88c2e22..0000000
--- a/.github/workflows/e2e.ttl.yaml
+++ /dev/null
@@ -1,55 +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: E2E
-
-on:
-  pull_request:
-    paths:
-      - '**'
-      - '!**.md'
-  schedule:
-    - cron: '0 18 * * *'
-
-env:
-  SW_AGENT_JDK_VERSION: 8
-
-concurrency:
-  group: e2e-ttl-${{ github.event.pull_request.number || github.ref }}
-  cancel-in-progress: true
-
-jobs:
-  TTL:
-    if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')
-    name: Storage TTL
-    runs-on: ubuntu-latest
-    timeout-minutes: 90
-    strategy:
-      matrix:
-        storage: ['es6', 'es7', 'influxdb', 'tidb', 'postgresql']
-    env:
-      SW_STORAGE: ${{ matrix.storage }}
-    steps:
-      - uses: actions/checkout@v2
-        with:
-          submodules: true
-      - name: Set Skip Env Var
-        uses: ./.github/actions/skip
-      - name: Run E2E Test
-        if: env.SKIP_CI != 'true'
-        uses: ./.github/actions/e2e-test
-        with:
-          test_class: org.apache.skywalking.e2e.ttl.StorageTTLE2E
diff --git a/.github/workflows/e2e.yaml b/.github/workflows/e2e.yaml
deleted file mode 100644
index d9766c2..0000000
--- a/.github/workflows/e2e.yaml
+++ /dev/null
@@ -1,84 +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: E2E
-
-on:
-  pull_request:
-    # Do not run this workflow when and only when `*.md` files are modified
-    paths:
-      - '**'
-      - '!**.md'
-  schedule:
-    - cron: '0 18 * * *'
-
-env:
-  SW_AGENT_JDK_VERSION: 8
-
-concurrency:
-  group: e2e-features-${{ github.event.pull_request.number || github.ref }}
-  cancel-in-progress: true
-
-jobs:
-  FeatureGroup01:
-    if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')
-    name: Feature
-    runs-on: ubuntu-latest
-    timeout-minutes: 90
-    strategy:
-      matrix:
-        case: [auth, ssl]
-    env:
-      SW_SIMPLE_CASE: ${{ matrix.case }}
-    steps:
-      - uses: actions/checkout@v2
-        with:
-          submodules: true
-      - name: Set Skip Env Var
-        uses: ./.github/actions/skip
-      - name: Run E2E Test
-        if: env.SKIP_CI != 'true'
-        uses: ./.github/actions/e2e-test
-        with:
-          test_class: org.apache.skywalking.e2e.simple.SimpleE2E
-
-  FeatureGroup02:
-    if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')
-    name: ${{ matrix.case.name }}
-    runs-on: ubuntu-latest
-    timeout-minutes: 90
-    strategy:
-      matrix:
-        case:
-          - name: Lua Nginx
-            class: org.apache.skywalking.e2e.LuaE2E
-          - name: Gateway
-            class: org.apache.skywalking.e2e.GatewayE2E
-          - name: Meter
-            class: org.apache.skywalking.e2e.meter.MeterE2E
-          - name: Zabbix
-            class: org.apache.skywalking.e2e.zabbix.ZabbixE2E
-    steps:
-      - uses: actions/checkout@v2
-        with:
-          submodules: true
-      - name: Set Skip Env Var
-        uses: ./.github/actions/skip
-      - name: Run E2E Test
-        if: env.SKIP_CI != 'true'
-        uses: ./.github/actions/e2e-test
-        with:
-          test_class: ${{ matrix.case.class }}
diff --git a/.github/workflows/plugins-jdk14-test.0.yaml b/.github/workflows/plugins-jdk14-test.0.yaml
index fba4eab..90fcebb 100644
--- a/.github/workflows/plugins-jdk14-test.0.yaml
+++ b/.github/workflows/plugins-jdk14-test.0.yaml
@@ -14,9 +14,12 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-name: PluginsJDK14Test
+name: Test
 
 on:
+  push:
+    branches:
+      - test/ci/*
   pull_request:
     paths:
       - '.github/workflows/plugins-*.yaml'
diff --git a/.github/workflows/plugins-test.0.yaml b/.github/workflows/plugins-test.0.yaml
index 1d6f367..08d93a8 100644
--- a/.github/workflows/plugins-test.0.yaml
+++ b/.github/workflows/plugins-test.0.yaml
@@ -14,9 +14,12 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-name: PluginsTest
+name: Test
 
 on:
+  push:
+    branches:
+      - test/ci/*
   pull_request:
     paths:
       - '.github/workflows/plugins-*.yaml'
diff --git a/.github/workflows/plugins-test.1.yaml b/.github/workflows/plugins-test.1.yaml
index 7fa9f51..418ab52 100644
--- a/.github/workflows/plugins-test.1.yaml
+++ b/.github/workflows/plugins-test.1.yaml
@@ -14,9 +14,12 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-name: PluginsTest
+name: Test
 
 on:
+  push:
+    branches:
+      - test/ci/*
   pull_request:
     paths:
       - '.github/workflows/plugins-*.yaml'
diff --git a/.github/workflows/plugins-test.2.yaml b/.github/workflows/plugins-test.2.yaml
index 39982aa..c6ef8b1 100644
--- a/.github/workflows/plugins-test.2.yaml
+++ b/.github/workflows/plugins-test.2.yaml
@@ -14,9 +14,12 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-name: PluginsTest
+name: Test
 
 on:
+  push:
+    branches:
+      - test/ci/*
   pull_request:
     paths:
       - '.github/workflows/plugins-*.yaml'
diff --git a/.github/workflows/plugins-test.3.yaml b/.github/workflows/plugins-test.3.yaml
index f25a85e..85e954c 100644
--- a/.github/workflows/plugins-test.3.yaml
+++ b/.github/workflows/plugins-test.3.yaml
@@ -14,9 +14,12 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-name: PluginsTest
+name: Test
 
 on:
+  push:
+    branches:
+      - test/ci/*
   pull_request:
     paths:
       - '.github/workflows/plugins-*.yaml'
@@ -104,14 +107,12 @@ jobs:
       - name: Add checkstyle-plugin
         run: sed -i '/<\/sourceDirectories>/i <sourceDirectory>scenarios\/oracle-scenario<\/sourceDirectory>' test/plugin/pom.xml
       - name: Build SkyWalking Agent
-        run: ./mvnw -q --batch-mode clean package -DskipTests -Pagent
+        run: ./mvnw -q --batch-mode clean package -Dmaven.test.skip
       - name: Build Docker image
-        run: ./mvnw -q --batch-mode -f test/plugin/pom.xml clean package -DskipTests
-      - name: Oracle 10.2.0.4.0 (1)
+        run: ./mvnw -q --batch-mode -f test/plugin/pom.xml clean package -Dmaven.test.skip
+      - name: Oracle 10.2.0.4.0
         run: |
           curl -O https://skyapm.github.io/ci-assist/jars/ojdbc14-10.2.0.4.0.jar
           curl -L -o ./skywalking-agent/plugins/apm-oracle-10.x-plugin-2.0.0.jar https://github.com/SkyAPM/java-plugin-extensions/releases/download/2.0.0/apm-oracle-10.x-plugin-2.0.0.jar
           ./mvnw -q --batch-mode install:install-file -Dfile=ojdbc14-10.2.0.4.0.jar -DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=10.2.0.4.0 -Dpackaging=jar
           bash test/plugin/run.sh oracle-scenario
-      - name: Report Coverage
-        run: bash -x tools/coverage/report.sh
diff --git a/.github/workflows/publish-docker.yaml b/.github/workflows/publish-docker.yaml
index 28fd290..e2cdb70 100644
--- a/.github/workflows/publish-docker.yaml
+++ b/.github/workflows/publish-docker.yaml
@@ -19,27 +19,24 @@ name: publish-docker
 on:
   push:
     branches:
-      - master
+      - main
+      - test/ci/*
 
 env:
   SKIP_TEST: true
-  HUB: ghcr.io/apache/skywalking
+  NAME: skywalking-java
+  HUB: ghcr.io/apache/skywalking-java
 
 jobs:
   build:
-    if: github.repository == 'apache/skywalking'
+    if: github.repository == 'apache/skywalking-java'
     runs-on: ubuntu-latest
     permissions:
       contents: read
       packages: write
-    timeout-minutes: 90
-    strategy:
-      fail-fast: true
-      matrix:
-        es: [es6, es7]
+    timeout-minutes: 60
     env:
-      ES_VERSION: ${{ matrix.es }}
-      TAG: ${{ github.sha }}-${{ matrix.es }}
+      TAG: ${{ github.sha }}
     steps:
       - uses: actions/checkout@v2
         with:
@@ -48,9 +45,8 @@ jobs:
         uses: actions/cache@v2
         with:
           path: ~/.m2/repository
-          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
-          restore-keys: |
-            ${{ runner.os }}-maven-
+          key: ${{ runner.os }}-maven-publish-docker
+          restore-keys: ${{ runner.os }}-maven-
       - name: Log in to the Container registry
         uses: docker/login-action@v1.10.0
         with:
@@ -59,5 +55,6 @@ jobs:
           password: ${{ secrets.GITHUB_TOKEN }}
       - name: Build docker image
         run: |
-          make docker || make docker
           make docker.push || make docker.push
+          docker tag $HUB/$NAME:$TAG $HUB/$NAME:latest
+          docker push $HUB/$NAME:latest
diff --git a/.gitignore b/.gitignore
index c442cb7..e127805 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,7 +13,6 @@ packages/
 **/dist/
 /docker/snapshot/*.gz
 .mvn/wrapper/*.jar
-OALLexer.tokens
 .factorypath
 .vscode
 .checkstyle
@@ -22,5 +21,4 @@ OALLexer.tokens
 /test/plugin/workspace
 /test/jacoco/classes
 /test/jacoco/*.exec
-oap-server/oal-grammar/**/gen/
 test/jacoco
diff --git a/.muse/config.toml b/.muse/config.toml
deleted file mode 100644
index fd609b2..0000000
--- a/.muse/config.toml
+++ /dev/null
@@ -1,2 +0,0 @@
-jdk11 = true
-setup = ".muse/setup.sh"
diff --git a/.muse/setup.sh b/.muse/setup.sh
deleted file mode 100755
index 6bc9e75..0000000
--- a/.muse/setup.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/usr/bin/env bash
-git submodule update --init --recursive
diff --git a/docker/agent/Dockerfile.agent b/Dockerfile
similarity index 85%
rename from docker/agent/Dockerfile.agent
rename to Dockerfile
index a3049c3..08f41bf 100644
--- a/docker/agent/Dockerfile.agent
+++ b/Dockerfile
@@ -16,14 +16,6 @@
 
 ARG BASE_IMAGE='adoptopenjdk/openjdk8:alpine'
 
-FROM alpine as build
-
-ENV DIST_NAME=apache-skywalking-apm-bin
-
-ADD "$DIST_NAME.tar.gz" /
-
-RUN mv /$DIST_NAME /skywalking
-
 FROM alpine AS cli
 
 WORKDIR /skywalking/bin
@@ -42,5 +34,6 @@ ENV JAVA_TOOL_OPTIONS=-javaagent:/skywalking/agent/skywalking-agent.jar
 
 WORKDIR /skywalking
 
-COPY --from=build /skywalking/agent /skywalking/agent
-COPY --from=cli /skywalking/bin/swctl /skywalking/bin
+ADD skywalking-agent /skywalking/agent
+
+COPY --from=cli /skywalking/bin/swctl /usr/bin/swctl
diff --git a/Makefile b/Makefile
index acbab49..60fd3ad 100644
--- a/Makefile
+++ b/Makefile
@@ -16,99 +16,21 @@
 
 SHELL := /bin/bash -o pipefail
 
-export SW_ROOT := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
+HUB ?= skywalking
+NAME ?= skywalking-java
+TAG ?= latest
 
-export SW_OUT:=${SW_ROOT}/dist
+BASE_IMAGE ?= adoptopenjdk/openjdk8:alpine
+SKIP_TEST ?= false
 
-SKIP_TEST?=false
-
-init:
-	cd $(SW_ROOT) && git submodule update --init --recursive
-
-.PHONY: build.all build.agent build.backend build.ui build.docker
-
-build.all:
-	cd $(SW_ROOT) && ./mvnw --batch-mode clean package -Dmaven.test.skip=$(SKIP_TEST)
-
-build.agent:
-	cd $(SW_ROOT) && ./mvnw --batch-mode clean package -Dmaven.test.skip=$(SKIP_TEST) -Pagent,dist
-
-build.backend:
-	cd $(SW_ROOT) && ./mvnw --batch-mode clean package -Dmaven.test.skip=$(SKIP_TEST) -Pbackend,dist
-
-build.ui:
-	cd $(SW_ROOT) && ./mvnw --batch-mode clean package -Dmaven.test.skip=$(SKIP_TEST) -Pui,dist
-
-DOCKER_BUILD_TOP:=${SW_OUT}/docker_build
-
-HUB?=skywalking
-
-TAG?=latest
-
-ES_VERSION?=es6
-
-.SECONDEXPANSION: #allow $@ to be used in dependency list
-
-.PHONY: docker docker.all docker.oap
-
-docker: init build.all docker.all
-
-DOCKER_TARGETS:=docker.oap docker.ui docker.agent
-
-docker.all: $(DOCKER_TARGETS)
-
-ifeq ($(ES_VERSION),es7)
-  DIST_NAME := apache-skywalking-apm-bin-es7
-else
-  DIST_NAME := apache-skywalking-apm-bin
-endif
-
-ifneq ($(SW_OAP_BASE_IMAGE),)
-  BUILD_ARGS := $(BUILD_ARGS) --build-arg BASE_IMAGE=$(SW_OAP_BASE_IMAGE)
-endif
-
-BUILD_ARGS := $(BUILD_ARGS) --build-arg DIST_NAME=$(DIST_NAME)
-
-docker.oap: $(SW_OUT)/$(DIST_NAME).tar.gz
-docker.oap: $(SW_ROOT)/docker/oap/Dockerfile.oap
-docker.oap: $(SW_ROOT)/docker/oap/docker-entrypoint.sh
-docker.oap: $(SW_ROOT)/docker/oap/log4j2.xml
-		$(DOCKER_RULE)
-
-docker.ui: $(SW_OUT)/apache-skywalking-apm-bin.tar.gz
-docker.ui: $(SW_ROOT)/docker/ui/Dockerfile.ui
-docker.ui: $(SW_ROOT)/docker/ui/docker-entrypoint.sh
-docker.ui: $(SW_ROOT)/docker/ui/logback.xml
-		$(DOCKER_RULE)
-
-docker.agent: $(SW_OUT)/apache-skywalking-apm-bin.tar.gz
-docker.agent: $(SW_ROOT)/docker/agent/Dockerfile.agent
-		$(DOCKER_RULE)
-
-
-# $@ is the name of the target
-# $^ the name of the dependencies for the target
-# Rule Steps #
-##############
-# 1. Make a directory $(DOCKER_BUILD_TOP)/%@
-# 2. This rule uses cp to copy all dependency filenames into into $(DOCKER_BUILD_TOP/$@
-# 3. This rule then changes directories to $(DOCKER_BUID_TOP)/$@
-# 4. This rule runs $(BUILD_PRE) prior to any docker build and only if specified as a dependency variable
-# 5. This rule finally runs docker build passing $(BUILD_ARGS) to docker if they are specified as a dependency variable
-
-DOCKER_RULE=time (mkdir -p $(DOCKER_BUILD_TOP)/$@ && cp -r $^ $(DOCKER_BUILD_TOP)/$@ && cd $(DOCKER_BUILD_TOP)/$@ && $(BUILD_PRE) docker build --no-cache $(BUILD_ARGS) -t $(HUB)/$(subst docker.,,$@):$(TAG) -f Dockerfile$(suffix $@) .)
-
-# for each docker.XXX target create a push.docker.XXX target that pushes
-# the local docker image to another hub
-# a possible optimization is to use tag.$(TGT) as a dependency to do the tag for us
-$(foreach TGT,$(DOCKER_TARGETS),$(eval push.$(TGT): | $(TGT) ; \
-	time (docker push $(HUB)/$(subst docker.,,$(TGT)):$(TAG))))
-
-# create a DOCKER_PUSH_TARGETS that's each of DOCKER_TARGETS with a push. prefix
-DOCKER_PUSH_TARGETS:=
-$(foreach TGT,$(DOCKER_TARGETS),$(eval DOCKER_PUSH_TARGETS+=push.$(TGT)))
-
-# Will build and push docker images.
-docker.push: $(DOCKER_PUSH_TARGETS)
+.PHONY: build
+build:
+	./mvnw --batch-mode clean package -Dmaven.test.skip=$(SKIP_TEST)
 
+.PHONY: docker
+docker: build
+	docker build --no-cache --build-arg BASE_IMAGE=$(BASE_IMAGE) -t $(HUB)/$(NAME):$(TAG)
 
+.PHONY: docker.push
+docker.push: docker
+	docker push $(HUB)/$(NAME):$(TAG)
diff --git a/apm-application-toolkit/pom.xml b/apm-application-toolkit/pom.xml
index eef4ad5..26cf158 100644
--- a/apm-application-toolkit/pom.xml
+++ b/apm-application-toolkit/pom.xml
@@ -18,7 +18,7 @@
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
     <parent>
-        <artifactId>apm</artifactId>
+        <artifactId>java-agent</artifactId>
         <groupId>org.apache.skywalking</groupId>
         <version>8.8.0-SNAPSHOT</version>
     </parent>
diff --git a/apm-commons/apm-datacarrier/pom.xml b/apm-commons/apm-datacarrier/pom.xml
index fbb048f..39442d6 100644
--- a/apm-commons/apm-datacarrier/pom.xml
+++ b/apm-commons/apm-datacarrier/pom.xml
@@ -19,7 +19,7 @@
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
-        <artifactId>apm-commons</artifactId>
+        <artifactId>java-agent-commons</artifactId>
         <groupId>org.apache.skywalking</groupId>
         <version>8.8.0-SNAPSHOT</version>
     </parent>
diff --git a/apm-commons/apm-util/pom.xml b/apm-commons/apm-util/pom.xml
index 75a591e..467586a 100644
--- a/apm-commons/apm-util/pom.xml
+++ b/apm-commons/apm-util/pom.xml
@@ -28,7 +28,6 @@
     <packaging>jar</packaging>
 
     <name>apm-util</name>
-    <url>http://maven.apache.org</url>
 
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
diff --git a/apm-protocol/apm-network/pom.xml b/apm-protocol/apm-network/pom.xml
index 644641a..db320f8 100644
--- a/apm-protocol/apm-network/pom.xml
+++ b/apm-protocol/apm-network/pom.xml
@@ -19,7 +19,7 @@
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
-        <artifactId>apm-protocol</artifactId>
+        <artifactId>java-agent-protocol</artifactId>
         <groupId>org.apache.skywalking</groupId>
         <version>8.8.0-SNAPSHOT</version>
     </parent>
diff --git a/apm-sniffer/apm-agent-core/pom.xml b/apm-sniffer/apm-agent-core/pom.xml
index 71d25e7..07a5766 100644
--- a/apm-sniffer/apm-agent-core/pom.xml
+++ b/apm-sniffer/apm-agent-core/pom.xml
@@ -21,7 +21,7 @@
 
     <parent>
         <groupId>org.apache.skywalking</groupId>
-        <artifactId>apm-sniffer</artifactId>
+        <artifactId>java-agent-sniffer</artifactId>
         <version>8.8.0-SNAPSHOT</version>
     </parent>
 
diff --git a/apm-sniffer/apm-agent/pom.xml b/apm-sniffer/apm-agent/pom.xml
index beae806..5afa2b1 100644
--- a/apm-sniffer/apm-agent/pom.xml
+++ b/apm-sniffer/apm-agent/pom.xml
@@ -21,7 +21,7 @@
 
     <parent>
         <groupId>org.apache.skywalking</groupId>
-        <artifactId>apm-sniffer</artifactId>
+        <artifactId>java-agent-sniffer</artifactId>
         <version>8.8.0-SNAPSHOT</version>
     </parent>
 
diff --git a/apm-sniffer/apm-sdk-plugin/pom.xml b/apm-sniffer/apm-sdk-plugin/pom.xml
index 4482f05..31d2a79 100644
--- a/apm-sniffer/apm-sdk-plugin/pom.xml
+++ b/apm-sniffer/apm-sdk-plugin/pom.xml
@@ -22,7 +22,7 @@
 
     <parent>
         <groupId>org.apache.skywalking</groupId>
-        <artifactId>apm-sniffer</artifactId>
+        <artifactId>java-agent-sniffer</artifactId>
         <version>8.8.0-SNAPSHOT</version>
     </parent>
 
diff --git a/apm-sniffer/apm-test-tools/pom.xml b/apm-sniffer/apm-test-tools/pom.xml
index b322cd9..a680d13 100644
--- a/apm-sniffer/apm-test-tools/pom.xml
+++ b/apm-sniffer/apm-test-tools/pom.xml
@@ -21,7 +21,7 @@
 
     <parent>
         <groupId>org.apache.skywalking</groupId>
-        <artifactId>apm-sniffer</artifactId>
+        <artifactId>java-agent-sniffer</artifactId>
         <version>8.8.0-SNAPSHOT</version>
     </parent>
 
diff --git a/apm-sniffer/apm-toolkit-activation/pom.xml b/apm-sniffer/apm-toolkit-activation/pom.xml
index a8c7363..7a853af 100644
--- a/apm-sniffer/apm-toolkit-activation/pom.xml
+++ b/apm-sniffer/apm-toolkit-activation/pom.xml
@@ -19,7 +19,7 @@
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
-        <artifactId>apm-sniffer</artifactId>
+        <artifactId>java-agent-sniffer</artifactId>
         <groupId>org.apache.skywalking</groupId>
         <version>8.8.0-SNAPSHOT</version>
     </parent>
diff --git a/apm-sniffer/bootstrap-plugins/pom.xml b/apm-sniffer/bootstrap-plugins/pom.xml
index 5910ede..b996eb0 100644
--- a/apm-sniffer/bootstrap-plugins/pom.xml
+++ b/apm-sniffer/bootstrap-plugins/pom.xml
@@ -19,7 +19,7 @@
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
-        <artifactId>apm-sniffer</artifactId>
+        <artifactId>java-agent-sniffer</artifactId>
         <groupId>org.apache.skywalking</groupId>
         <version>8.8.0-SNAPSHOT</version>
     </parent>
diff --git a/apm-sniffer/optional-plugins/pom.xml b/apm-sniffer/optional-plugins/pom.xml
index bacbbce..a3a31f7 100644
--- a/apm-sniffer/optional-plugins/pom.xml
+++ b/apm-sniffer/optional-plugins/pom.xml
@@ -19,7 +19,7 @@
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
-        <artifactId>apm-sniffer</artifactId>
+        <artifactId>java-agent-sniffer</artifactId>
         <groupId>org.apache.skywalking</groupId>
         <version>8.8.0-SNAPSHOT</version>
     </parent>
diff --git a/apm-sniffer/optional-reporter-plugins/pom.xml b/apm-sniffer/optional-reporter-plugins/pom.xml
index 3c86f77..3d2f530 100644
--- a/apm-sniffer/optional-reporter-plugins/pom.xml
+++ b/apm-sniffer/optional-reporter-plugins/pom.xml
@@ -19,7 +19,7 @@
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
-        <artifactId>apm-sniffer</artifactId>
+        <artifactId>java-agent-sniffer</artifactId>
         <groupId>org.apache.skywalking</groupId>
         <version>8.8.0-SNAPSHOT</version>
     </parent>
@@ -66,4 +66,4 @@
         </dependency>
     </dependencies>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/apm-sniffer/pom.xml b/apm-sniffer/pom.xml
index 8199797..1c59ec4 100644
--- a/apm-sniffer/pom.xml
+++ b/apm-sniffer/pom.xml
@@ -25,7 +25,7 @@
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>apm-sniffer</artifactId>
+    <artifactId>java-agent-sniffer</artifactId>
     <packaging>pom</packaging>
 
     <modules>
diff --git a/docker/.env b/docker/.env
deleted file mode 100644
index 4c19017..0000000
--- a/docker/.env
+++ /dev/null
@@ -1,2 +0,0 @@
-TAG=es6
-ES_TAG=6.8.1
\ No newline at end of file
diff --git a/docker/README.md b/docker/README.md
deleted file mode 100644
index 00699ba..0000000
--- a/docker/README.md
+++ /dev/null
@@ -1,60 +0,0 @@
-This folder contains Docker files for SkyWalking developers/committers to build images manually. If you want to start a SkyWalking backend server with docker-compose for your integration, please visit https://github.com/apache/skywalking-docker repository. 
-
-
-## Quickstart
-You can use `Makefile` located at the root folder to build a docker image with the current codebase.
-
-```
-make docker
-```
-
-It doesn't contain the process of building a docker image but also includes all the required steps, for instance, init workspace, build artifact from scratch. It builds two images, OAP, and UI.
-
-```
-docker image ls | grep skywalking
-skywalking/ui                                   latest              a14db4e1d70d        6 minutes ago       800MB
-skywalking/oap                                  latest              2a6084450b44        6 minutes ago       862MB
-```
-
-
-## Building variables
-
-There're some environment variables to control image building.
-
-### HUB
-
-The hub of docker image. The default value is `skywalking`.
-
-### TAG
-
-The tag of docker image. The default value is `latest`.
-
-### ES_VERSION
-
-The elasticsearch version this image supports. The default value is `es6`, available values are `es6` and `es7`.
-
-
-For example, if we want to build images with a hub `foo.io` and a tag `bar`, and it supports elasticsearch 7 at the same time.
-We can issue the following commands.
-
-```
-export HUB=foo.io && export TAG=bar && export ES_VERSION=es7 && make docker
-```
-
-Let's check out the result:
-```
-docker image ls | grep foo.io
-foo.io/ui                                       bar                 a14db4e1d70d        9 minutes ago       800MB
-foo.io/oap                                      bar                 2a6084450b44        9 minutes ago       862MB
-```
-
-From the output, we can find out the building tool adopts the files stored in `oap-es7`.
-
-## Running containers with docker-compose
-
-We can start up backend cluster by docker-compose
-```
-cd docker
-docker compose up
-```
-`docker/.env` file contains the default `TAG` and elasticsearch tag(`ES_TAG`).
diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml
deleted file mode 100644
index a41cab8..0000000
--- a/docker/docker-compose.yml
+++ /dev/null
@@ -1,64 +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.
-
-version: '3.5'
-services:
-  elasticsearch:
-    image: docker.elastic.co/elasticsearch/elasticsearch:${ES_TAG}
-    container_name: elasticsearch
-    restart: always
-    ports:
-      - 9200:9200
-    environment:
-      discovery.type: single-node
-    ulimits:
-      memlock:
-        soft: -1
-        hard: -1
-  oap:
-    image: skywalking/oap:${TAG}
-    container_name: oap
-    depends_on:
-      - elasticsearch
-    links:
-      - elasticsearch
-    restart: always
-    ports:
-      - 11800:11800
-      - 12800:12800
-    environment:
-      SW_STORAGE: elasticsearch
-      SW_STORAGE_ES_CLUSTER_NODES: elasticsearch:9200
-      SW_HEALTH_CHECKER: default
-      SW_TELEMETRY: prometheus
-    healthcheck:
-      test: ["CMD", "./bin/swctl", "ch"]
-      interval: 30s
-      timeout: 10s
-      retries: 3
-      start_period: 40s
-  ui:
-    image: skywalking/ui:${TAG}
-    container_name: ui
-    depends_on:
-      - oap
-    links:
-      - oap
-    restart: always
-    ports:
-      - 8080:8080
-    environment:
-      SW_OAP_ADDRESS: http://oap:12800
diff --git a/docker/oap/Dockerfile.oap b/docker/oap/Dockerfile.oap
deleted file mode 100644
index dd44a66..0000000
--- a/docker/oap/Dockerfile.oap
+++ /dev/null
@@ -1,66 +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.
-
-ARG BASE_IMAGE='adoptopenjdk/openjdk11:alpine'
-
-FROM golang:1.14 AS cli
-
-ARG COMMIT_HASH=9f267876493943716434fdaa30047a14c0b5b2d9
-ARG CLI_CODE=${COMMIT_HASH}.tar.gz
-ARG CLI_CODE_URL=https://github.com/apache/skywalking-cli/archive/${CLI_CODE}
-
-ENV CGO_ENABLED=0
-ENV GO111MODULE=on
-
-WORKDIR /cli
-
-ADD ${CLI_CODE_URL} .
-RUN tar -xf ${CLI_CODE} --strip 1
-RUN rm ${CLI_CODE}
-
-RUN mkdir -p /skywalking/bin/
-RUN make linux && mv bin/swctl-latest-linux-amd64 /skywalking/bin/swctl
-
-FROM $BASE_IMAGE
-
-ENV JAVA_OPTS=" -Xms256M " \
-    SW_CLUSTER="standalone" \
-    SW_STORAGE="h2"
-
-ARG DIST_NAME
-
-COPY "$DIST_NAME.tar.gz" /
-
-RUN set -ex; \
-    tar -xzf "$DIST_NAME.tar.gz"; \
-    rm -rf "$DIST_NAME.tar.gz"; \
-    rm -rf "$DIST_NAME/config/log4j2.xml"; \
-    rm -rf "$DIST_NAME/bin"; rm -rf "$DIST_NAME/webapp"; rm -rf "$DIST_NAME/agent"; \
-    mkdir "$DIST_NAME/bin"; \
-    mv "$DIST_NAME" skywalking;
-
-WORKDIR skywalking
-
-COPY --from=cli /skywalking/bin/swctl ./bin
-
-COPY log4j2.xml config/
-COPY docker-entrypoint.sh .
-RUN mkdir ext-config; \
-    mkdir ext-libs;
-
-EXPOSE 12800 11800 1234
-
-ENTRYPOINT ["sh", "docker-entrypoint.sh"]
diff --git a/docker/oap/docker-entrypoint.sh b/docker/oap/docker-entrypoint.sh
deleted file mode 100755
index de60e3d..0000000
--- a/docker/oap/docker-entrypoint.sh
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/bin/sh
-# 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.
-
-set -e
-
-echo "[Entrypoint] Apache SkyWalking Docker Image"
-
-EXT_LIB_DIR=/skywalking/ext-libs
-EXT_CONFIG_DIR=/skywalking/ext-config
-
-# Override configuration files
-if [ "$(ls -A $EXT_CONFIG_DIR)" ]; then
-  cp -vfRL ${EXT_CONFIG_DIR}/* config/
-fi
-
-CLASSPATH="config:$CLASSPATH"
-for i in oap-libs/*.jar
-do
-    CLASSPATH="$i:$CLASSPATH"
-done
-for i in "${EXT_LIB_DIR}"/*.jar
-do
-    CLASSPATH="$i:$CLASSPATH"
-done
-
-set -ex
-
-exec java ${JAVA_OPTS} -classpath ${CLASSPATH} org.apache.skywalking.oap.server.starter.OAPServerStartUp "$@"
diff --git a/docker/oap/log4j2.xml b/docker/oap/log4j2.xml
deleted file mode 100644
index 06242e5..0000000
--- a/docker/oap/log4j2.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  ~ 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.
-  ~
-  -->
-
-<Configuration status="INFO">
-    <Appenders>
-        <Console name="Console" target="SYSTEM_OUT">
-            <PatternLayout charset="UTF-8" pattern="%d - %c -%-4r [%t] %-5p %x - %m%n"/>
-        </Console>
-    </Appenders>
-    <Loggers>
-        <logger name="org.eclipse.jetty" level="INFO"/>
-        <logger name="org.apache.zookeeper" level="INFO"/>
-        <logger name="org.elasticsearch.common.network.IfConfig" level="INFO"/>
-        <logger name="io.grpc.netty" level="INFO"/>
-        <logger name="org.apache.skywalking.oap.meter.analyzer" level="DEBUG"/>
-        <logger name="org.apache.skywalking.oap.server.receiver.istio.telemetry" level="DEBUG"/>
-        <logger name="org.apache.skywalking.oap.server.fetcher.prometheus" level="DEBUG"/>
-        <logger name="org.apache.skywalking.oap.server.receiver.envoy.als" level="DEBUG"/>
-        <Root level="INFO">
-            <AppenderRef ref="Console"/>
-        </Root>
-    </Loggers>
-</Configuration>
diff --git a/docker/ui/Dockerfile.ui b/docker/ui/Dockerfile.ui
deleted file mode 100644
index d2f9f54..0000000
--- a/docker/ui/Dockerfile.ui
+++ /dev/null
@@ -1,40 +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.
-
-FROM adoptopenjdk/openjdk11:alpine
-
-ENV DIST_NAME=apache-skywalking-apm-bin \
-    JAVA_OPTS=" -Xms256M " \
-    SW_OAP_ADDRESS="http://127.0.0.1:12800"
-
-COPY "$DIST_NAME.tar.gz" /
-
-RUN set -ex; \
-    apk add bash; \
-    tar -xzf "$DIST_NAME.tar.gz"; \
-    rm -rf "$DIST_NAME.tar.gz"; \
-    rm -rf "$DIST_NAME/config"; \
-    rm -rf "$DIST_NAME/bin"; rm -rf "$DIST_NAME/oap-libs"; rm -rf "$DIST_NAME/agent"; \
-    mv "$DIST_NAME" skywalking;
-
-WORKDIR skywalking
-
-COPY docker-entrypoint.sh .
-COPY logback.xml webapp/
-
-EXPOSE 8080
-
-ENTRYPOINT ["bash", "docker-entrypoint.sh"]
\ No newline at end of file
diff --git a/docker/ui/logback.xml b/docker/ui/logback.xml
deleted file mode 100644
index c9490a8..0000000
--- a/docker/ui/logback.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  ~ 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.
-  ~
-  -->
-<configuration>
-    <include resource="org/springframework/boot/logging/logback/base.xml"/>
-</configuration>
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 4742aa2..d8d4773 100755
--- a/pom.xml
+++ b/pom.xml
@@ -17,7 +17,8 @@
   ~
   -->
 
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
 
     <groupId>org.apache.skywalking</groupId>
@@ -28,16 +29,18 @@
         <groupId>org.apache</groupId>
         <artifactId>apache</artifactId>
         <version>21</version>
-        <relativePath />
+        <relativePath/>
     </parent>
 
     <modules>
         <module>apm-commons</module>
         <module>apm-protocol</module>
+        <module>apm-sniffer</module>
+        <module>apm-application-toolkit</module>
     </modules>
     <packaging>pom</packaging>
 
-    <name>apm</name>
+    <name>java-agent</name>
     <url>https://github.com/apache/skywalking</url>
 
     <scm>
@@ -74,79 +77,6 @@
         </mailingList>
     </mailingLists>
 
-    <profiles>
-        <profile>
-            <id>agent</id>
-            <activation>
-                <activeByDefault>true</activeByDefault>
-            </activation>
-            <modules>
-                <module>apm-sniffer</module>
-                <module>apm-application-toolkit</module>
-            </modules>
-        </profile>
-        <profile>
-            <id>all</id>
-            <activation>
-                <activeByDefault>false</activeByDefault>
-            </activation>
-            <modules>
-                <module>apm-sniffer</module>
-                <module>apm-application-toolkit</module>
-            </modules>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.codehaus.mojo</groupId>
-                        <artifactId>exec-maven-plugin</artifactId>
-                        <version>${exec-maven-plugin.version}</version>
-                        <executions>
-                            <execution>
-                                <id>git submodule update</id>
-                                <phase>initialize</phase>
-                                <inherited>false</inherited>
-                                <configuration>
-                                    <executable>git</executable>
-                                    <arguments>
-                                        <argument>submodule</argument>
-                                        <argument>update</argument>
-                                        <argument>--init</argument>
-                                        <argument>--recursive</argument>
-                                    </arguments>
-                                </configuration>
-                                <goals>
-                                    <goal>exec</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-        <profile>
-            <id>CI-with-IT</id>
-            <activation>
-                <activeByDefault>false</activeByDefault>
-            </activation>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-failsafe-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <goals>
-                                    <goal>integration-test</goal>
-                                    <goal>verify</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <compiler.version>1.8</compiler.version>
@@ -190,7 +120,7 @@
         <versions-maven-plugin.version>2.5</versions-maven-plugin.version>
         <coveralls-maven-plugin.version>4.3.0</coveralls-maven-plugin.version>
         <maven-checkstyle-plugin.version>3.1.0</maven-checkstyle-plugin.version>
-        <jmh.version>1.21</jmh.version>
+        <jmh.version>1.31</jmh.version>
         <gmaven-plugin.version>1.5</gmaven-plugin.version>
         <cobertura-maven-plugin.version>2.7</cobertura-maven-plugin.version>
         <checkstyle.fails.on.error>true</checkstyle.fails.on.error>
@@ -499,7 +429,7 @@
                 <artifactId>cobertura-maven-plugin</artifactId>
                 <version>${cobertura-maven-plugin.version}</version>
                 <configuration>
-                    <check />
+                    <check/>
                     <aggregate>true</aggregate>
                     <encoding>${project.build.sourceEncoding}</encoding>
                     <quiet>true</quiet>
diff --git a/tools/coverage/report.sh b/tools/coverage/report.sh
deleted file mode 100755
index 5140fbd..0000000
--- a/tools/coverage/report.sh
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/usr/bin/env bash
-
-# ----------------------------------------------------------------------------
-# 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.
-# ----------------------------------------------------------------------------
-
-set -ex
-
-JACOCO_HOME=${JACOCO_HOME:-test/jacoco}
-
-ls -alh "${JACOCO_HOME}"
-
-for exec_data in "${JACOCO_HOME}"/*.exec; do
-  exec_data=${exec_data/*\//}
-  exec_data=${exec_data/.exec/}
-
-  sudo rm -rf "${JACOCO_HOME}"/classes/"${exec_data}"/org/apache/skywalking/oap/server/core/query/entity || true
-  sudo rm -rf "${JACOCO_HOME}"/classes/"${exec_data}"/org/apache/skywalking/testcase || true
-  sudo rm -rf "${JACOCO_HOME}"/classes/"${exec_data}"/org/apache/skywalking/e2e || true
-  sudo rm -rf "${JACOCO_HOME}"/classes/"${exec_data}"/test/apache/skywalking/e2e || true
-
-  java -jar "${JACOCO_HOME}"/jacococli.jar report \
-    --classfiles "${JACOCO_HOME}"/classes/"$exec_data" \
-    --xml=/tmp/report-"$exec_data".xml \
-    --html=/tmp/report-html-"$exec_data" \
-    "${JACOCO_HOME}"/"$exec_data".exec
-done
-
-# Download codecov bash uploader and verify the sha sums before using it.
-curl -s https://codecov.io/bash > codecov
-VERSION=$(grep -o 'VERSION=\"[0-9\.]*\"' codecov | cut -d'"' -f2)
-for i in 1 256 512
-do
-  shasum -a $i -c --ignore-missing <(curl -s "https://raw.githubusercontent.com/codecov/codecov-bash/${VERSION}/SHA${i}SUM") ||
-  shasum -a $i -c <(curl -s "https://raw.githubusercontent.com/codecov/codecov-bash/${VERSION}/SHA${i}SUM") || exit 0
-done
-
-bash codecov -X fix -f /tmp/report-*.xml || true