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

nicoloboschi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/bookkeeper.git


The following commit(s) were added to refs/heads/master by this push:
     new 7b5b6b240c CI: move all tests in a single workflow  (#3735)
7b5b6b240c is described below

commit 7b5b6b240ca7551da266903078f2dd2ba2906b96
Author: Nicolò Boschi <[email protected]>
AuthorDate: Tue Jan 17 10:40:40 2023 +0100

    CI: move all tests in a single workflow  (#3735)
    
    * CI: move all tests in a single workflow
    
    * fix java8
    
    * also owasp dep check
    
    * fix streamstorage
    
    * Fix
    
    * fix fail if tests not passing
    
    * separate steps
    
    * fix PR Validation job name
    
    * add retention-days to owasp
---
 .github/workflows/backward-compat-tests.yml      |  85 -----
 .github/workflows/bk-ci.yml                      | 420 +++++++++++++++++++++++
 .github/workflows/bookie-tests.yml               | 102 ------
 .github/workflows/client-tests.yml               |  93 -----
 .github/workflows/compatibility-check-java11.yml |  79 -----
 .github/workflows/compatibility-check-java17.yml |  78 -----
 .github/workflows/compatibility-check-java8.yml  |  79 -----
 .github/workflows/integration-tests.yml          |  89 -----
 .github/workflows/macos-build.yml                |  73 ----
 .github/workflows/owasp-dep-check.yml            |  83 -----
 .github/workflows/pr-validation.yml              |  84 -----
 .github/workflows/remaining-tests.yml            |  95 -----
 .github/workflows/replication-tests.yml          |  94 -----
 .github/workflows/stream-tests.yml               |  97 ------
 .github/workflows/tls-tests.yml                  |  94 -----
 .github/workflows/windows-build.yml              |  78 -----
 16 files changed, 420 insertions(+), 1303 deletions(-)

diff --git a/.github/workflows/backward-compat-tests.yml 
b/.github/workflows/backward-compat-tests.yml
deleted file mode 100644
index 5cf8ac81c4..0000000000
--- a/.github/workflows/backward-compat-tests.yml
+++ /dev/null
@@ -1,85 +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: Backward compatibility tests
-
-on:
-  push:
-  pull_request:
-    branches:
-      - master
-      - branch-*
-    workflow_dispatch:
-
-env:
-  MAVEN_OPTS: -Dmaven.wagon.httpconnectionManager.ttlSeconds=25 
-Dmaven.wagon.http.retryHandler.count=3
-
-jobs:
-  test:
-    name: Backward compatibility tests
-    runs-on: ubuntu-latest
-    timeout-minutes: 120
-    steps:
-      - name: Checkout
-        uses: actions/checkout@v2
-
-      - name: Tune Runner VM
-        uses: ./.github/actions/tune-runner-vm
-
-      - name: Detect changed files
-        id: changes
-        uses: apache/pulsar-test-infra/paths-filter@master
-        with:
-          filters: .github/changes-filter.yaml
-          list-files: csv
-
-      - name: Check changed files
-        id: check_changes
-        run: |
-          echo "docs_only=${{ fromJSON(steps.changes.outputs.all_count) == 
fromJSON(steps.changes.outputs.docs_count) && 
fromJSON(steps.changes.outputs.docs_count) > 0 }}" >> $GITHUB_OUTPUT
-
-      - name: Cache local Maven repository
-        if: steps.check_changes.outputs.docs_only != 'true'
-        id: cache
-        uses: actions/cache@v2
-        with:
-          path: |
-            ~/.m2/repository/*/*/*
-            !~/.m2/repository/org/apache/bookkeeper
-            !~/.m2/repository/org/apache/distributedlog
-          key: ${{ runner.os }}-bookkeeper-all-${{ hashFiles('**/pom.xml') }}
-
-      - name: Set up JDK 1.8
-        if: steps.check_changes.outputs.docs_only != 'true'
-        uses: actions/setup-java@v1
-        with:
-          java-version: 1.8
-      - name: Install Module
-        if: steps.check_changes.outputs.docs_only != 'true'
-        run: mvn -B -nsu clean install -DskipTests
-      - name: Test current server with old clients
-        if: steps.check_changes.outputs.docs_only != 'true'
-        run: mvn -B -nsu -DintegrationTests -pl 
:backward-compat-current-server-old-clients test
-      - name: Test progressive upgrade
-        if: steps.check_changes.outputs.docs_only != 'true'
-        run: mvn -B -nsu -DintegrationTests -pl :upgrade test
-      - name: Other tests
-        if: steps.check_changes.outputs.docs_only != 'true'
-        run: |
-          mvn -B -nsu -DintegrationTests -pl 
:bc-non-fips,:hierarchical-ledger-manager,:hostname-bookieid,:old-cookie-new-cluster,:recovery-no-password,:upgrade-direct,:yahoo-custom-version
 test
diff --git a/.github/workflows/bk-ci.yml b/.github/workflows/bk-ci.yml
new file mode 100644
index 0000000000..7a9989d8c5
--- /dev/null
+++ b/.github/workflows/bk-ci.yml
@@ -0,0 +1,420 @@
+#
+# 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: BookKeeper CI
+
+on:
+  pull_request:
+    branches:
+      - master
+      - branch-*
+  workflow_dispatch:
+
+env:
+  MAVEN_OPTS: -Dmaven.wagon.httpconnectionManager.ttlSeconds=25 
-Dmaven.wagon.http.retryHandler.count=3
+
+concurrency:
+  group: ${{ github.workflow }}-${{ github.ref }}
+  cancel-in-progress: true
+
+jobs:
+  build-and-license-check:
+    name: PR Validation
+    runs-on: ubuntu-latest
+    timeout-minutes: 60
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v2
+
+      - name: Tune Runner VM
+        uses: ./.github/actions/tune-runner-vm
+
+      - name: Detect changed files
+        id: changes
+        uses: apache/pulsar-test-infra/paths-filter@master
+        with:
+          filters: .github/changes-filter.yaml
+          list-files: csv
+
+      - name: Check changed files
+        id: check_changes
+        run: |
+          echo "docs_only=${{ fromJSON(steps.changes.outputs.all_count) == 
fromJSON(steps.changes.outputs.docs_count) && 
fromJSON(steps.changes.outputs.docs_count) > 0 }}" >> $GITHUB_OUTPUT
+
+      - name: Cache local Maven repository
+        if: steps.check_changes.outputs.docs_only != 'true'
+        id: cache
+        uses: actions/cache@v3
+        with:
+          path: |
+            ~/.m2/repository/*/*/*
+            !~/.m2/repository/org/apache/bookkeeper
+            !~/.m2/repository/org/apache/distributedlog
+          key: ${{ runner.os }}-bookkeeper-all-${{ hashFiles('**/pom.xml') }}
+
+      - name: Set up JDK 11
+        if: steps.check_changes.outputs.docs_only != 'true'
+        uses: actions/setup-java@v2
+        with:
+          distribution: 'temurin'
+          java-version: 11
+
+      - name: Validate pull request
+        if: steps.check_changes.outputs.docs_only != 'true'
+        run: mvn clean -T 1C -B -nsu apache-rat:check checkstyle:check 
spotbugs:check package -Ddistributedlog -DskipTests 
-Dorg.slf4j.simpleLogger.defaultLogLevel=INFO
+
+      - name: Check license files
+        if: steps.check_changes.outputs.docs_only != 'true'
+        run: dev/check-all-licenses
+
+      - name:  Generate Javadoc
+        if: steps.check_changes.outputs.docs_only != 'true'
+        run: mvn -B -nsu -am -pl 
bookkeeper-common,bookkeeper-server,:bookkeeper-stats-api,:bookkeeper-stats-providers,:codahale-metrics-provider,:prometheus-metrics-provider
 javadoc:aggregate -DskipTests -Pdelombok -Dchesktyle.skip -Dspotbugs.skip
+
+  unit-tests:
+    name: ${{ matrix.step_name }}
+    runs-on: ubuntu-latest
+    timeout-minutes: ${{ matrix.timeout || 60 }}
+    needs: [ 'build-and-license-check' ]
+    if: ${{ needs.build-and-license-check.outputs.docs_only != 'true' }}
+    strategy:
+      fail-fast: false
+      matrix:
+        include:
+          - step_name: Bookie Tests
+            module: bookkeeper-server
+            test_args: "-Dtest='org.apache.bookkeeper.bookie.**'"
+          - step_name: Client Tests
+            module: bookkeeper-server
+            test_args: "-Dtest='org.apache.bookkeeper.client.**'"
+          - step_name: Remaining Tests
+            module: bookkeeper-server
+            test_args: "-Dtest='org.apache.bookkeeper.replication.**'"
+          - step_name: Replication Tests
+            module: bookkeeper-server
+            test_args: 
"-Dtest='!org.apache.bookkeeper.client.**,!org.apache.bookkeeper.bookie.**,!org.apache.bookkeeper.replication.**,!org.apache.bookkeeper.tls.**'"
+          - step_name: TLS Tests
+            module: bookkeeper-server
+            test_args: "-Dtest='org.apache.bookkeeper.tls.**'"
+          - step_name: StreamStorage Tests
+            test_args: "-f stream/pom.xml -DstreamTests"
+          - step_name: Shell tests
+            module: tests/scripts
+
+    steps:
+      - name: checkout
+        uses: actions/checkout@v3
+
+      - name: Tune Runner VM
+        uses: ./.github/actions/tune-runner-vm
+
+      - name: Cache local Maven repository
+        id: cache
+        uses: actions/cache@v3
+        with:
+          path: |
+            ~/.m2/repository/*/*/*
+            !~/.m2/repository/org/apache/bookkeeper
+            !~/.m2/repository/org/apache/distributedlog
+          key: ${{ runner.os }}-bookkeeper-all-${{ hashFiles('**/pom.xml') }}
+
+
+      - name: Set up JDK 11
+        uses: actions/setup-java@v2
+        with:
+          distribution: 'temurin'
+          java-version: 11
+
+      - name: Build
+        run: |
+          projects_list=
+          if [[ ! -z "${{ matrix.module }}" ]]; then
+            projects_list="-pl ${{ matrix.module }}"
+          fi
+          mvn -q -T 1C -B -nsu $projects_list install -am -DskipTests 
-Dcheckstyle.skip -Dspotbugs.skip -Drat.skip -Dmaven.javadoc.skip
+
+      - name: Test - ${{ matrix.step_name }}
+        run: |
+          projects_list=
+          if [[ ! -z "${{ matrix.module }}" ]]; then
+            projects_list="-pl ${{ matrix.module }}"
+          fi
+          mvn -B -nsu $projects_list verify ${{ matrix.test_args }}
+
+      - name: Aggregates all test reports to ./test-reports and 
./surefire-reports directories
+        if: ${{ always() }}
+        uses: ./.github/actions/copy-test-reports
+
+      - name: Publish Test Report
+        uses: apache/pulsar-test-infra/action-junit-report@master
+        if: ${{ always() }}
+        with:
+          report_paths: 'surefire-reports/TEST-*.xml'
+          annotate_only: 'true'
+
+      - name: Upload Surefire reports
+        uses: actions/upload-artifact@v3
+        if: failure()
+        continue-on-error: true
+        with:
+          name: bookie-tests-reports
+          path: surefire-reports
+          retention-days: 7
+
+  integration-tests:
+    name: Integration Tests
+    runs-on: ubuntu-latest
+    timeout-minutes: 60
+    needs: [ 'build-and-license-check' ]
+    if: ${{ needs.build-and-license-check.outputs.docs_only != 'true' }}
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v2
+
+      - name: Tune Runner VM
+        uses: ./.github/actions/tune-runner-vm
+
+      - name: Cache local Maven repository
+        id: cache
+        uses: actions/cache@v2
+        with:
+          path: |
+            ~/.m2/repository/*/*/*
+            !~/.m2/repository/org/apache/bookkeeper
+            !~/.m2/repository/org/apache/distributedlog
+          key: ${{ runner.os }}-bookkeeper-all-${{ hashFiles('**/pom.xml') }}
+
+      - name: Set up JDK 11
+        uses: actions/setup-java@v2
+        with:
+          distribution: 'temurin'
+          java-version: 11
+
+      - name: Build with Maven
+        run: mvn -B -nsu clean install -Pdocker -DskipTests 
-Dorg.slf4j.simpleLogger.defaultLogLevel=INFO
+
+      - name: Run metadata driver tests
+        run: mvn -B -nsu -f metadata-drivers/pom.xml test -DintegrationTests 
-Dorg.slf4j.simpleLogger.defaultLogLevel=INFO
+
+      - name: Run all integration tests
+        run: mvn -B -nsu -f tests/pom.xml test -DintegrationTests 
-Dorg.slf4j.simpleLogger.defaultLogLevel=INFO
+
+      - name: print JVM thread dumps when cancelled
+        if: cancelled()
+        run: ./dev/ci-tool print_thread_dumps
+
+  backward-compatibility-tests:
+    name: Backward compatibility tests
+    runs-on: ubuntu-latest
+    timeout-minutes: 60
+    needs: [ 'build-and-license-check' ]
+    if: ${{ needs.build-and-license-check.outputs.docs_only != 'true' }}
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v2
+
+      - name: Tune Runner VM
+        uses: ./.github/actions/tune-runner-vm
+
+      - name: Cache local Maven repository
+        id: cache
+        uses: actions/cache@v2
+        with:
+          path: |
+            ~/.m2/repository/*/*/*
+            !~/.m2/repository/org/apache/bookkeeper
+            !~/.m2/repository/org/apache/distributedlog
+          key: ${{ runner.os }}-bookkeeper-all-${{ hashFiles('**/pom.xml') }}
+
+      - name: Set up JDK 8
+        uses: actions/setup-java@v2
+        with:
+          distribution: 'temurin'
+          java-version: 8
+
+      - name: Build with Maven
+        run: mvn -B -nsu clean install -DskipTests 
-Dorg.slf4j.simpleLogger.defaultLogLevel=INFO
+
+      - name: Test current server with old clients
+        run: mvn -B -nsu -DintegrationTests -pl 
:backward-compat-current-server-old-clients test
+
+      - name: Test progressive upgrade
+        run: mvn -B -nsu -DintegrationTests -pl :upgrade test
+
+      - name: Other tests
+        run: |
+          mvn -B -nsu -DintegrationTests -pl 
:bc-non-fips,:hierarchical-ledger-manager,:hostname-bookieid,:old-cookie-new-cluster,:recovery-no-password,:upgrade-direct,:yahoo-custom-version
 test
+
+  windows-build:
+    name: Build with windows on JDK 11
+    runs-on: windows-latest
+    timeout-minutes: 30
+    needs: [ 'build-and-license-check' ]
+    if: ${{ needs.build-and-license-check.outputs.docs_only != 'true' }}
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v3
+
+      - name: Tune Runner VM
+        uses: ./.github/actions/tune-runner-vm
+
+      - name: Install mingw
+        run: choco install mingw
+
+      - name: Cache local Maven repository
+        id: cache
+        uses: actions/cache@v2
+        with:
+          path: |
+            ~/.m2/repository/*/*/*
+            !~/.m2/repository/org/apache/bookkeeper
+            !~/.m2/repository/org/apache/distributedlog
+          key: ${{ runner.os }}-bookkeeper-all-${{ hashFiles('**/pom.xml') }}
+
+
+      - name: Set up JDK 11
+        uses: actions/setup-java@v3
+        with:
+          distribution: 'temurin'
+          java-version: 11
+
+      - name: mvn package
+        run: mvn -B -nsu clean package -DskipTests
+
+  macos-build:
+    name: Build with macos on JDK 11
+    runs-on: macos-latest
+    timeout-minutes: 30
+    needs: [ 'build-and-license-check' ]
+    if: ${{ needs.build-and-license-check.outputs.docs_only != 'true' }}
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v3
+
+      - name: Tune Runner VM
+        uses: ./.github/actions/tune-runner-vm
+
+      - name: Cache local Maven repository
+        id: cache
+        uses: actions/cache@v2
+        with:
+          path: |
+            ~/.m2/repository/*/*/*
+            !~/.m2/repository/org/apache/bookkeeper
+            !~/.m2/repository/org/apache/distributedlog
+          key: ${{ runner.os }}-bookkeeper-all-${{ hashFiles('**/pom.xml') }}
+
+      - name: Set up JDK 11
+        uses: actions/setup-java@v3
+        with:
+          distribution: 'temurin'
+          java-version: 11
+
+      - name: mvn package
+        run: mvn -B -nsu clean package -DskipTests
+
+  jdk-compatibility-checks:
+    name: ${{ matrix.step_name }}
+    runs-on: ubuntu-latest
+    timeout-minutes: ${{ matrix.timeout || 60 }}
+    needs: [ 'build-and-license-check' ]
+    if: ${{ needs.build-and-license-check.outputs.docs_only != 'true' }}
+    strategy:
+      fail-fast: false
+      matrix:
+        include:
+          - step_name: Compatibility Check Java8
+            jdk_version: 8
+          - step_name: Compatibility Check Java11
+            jdk_version: 11
+          - step_name: Compatibility Check Java17
+            jdk_version: 17
+
+    steps:
+      - name: checkout
+        uses: actions/checkout@v3
+
+      - name: Tune Runner VM
+        uses: ./.github/actions/tune-runner-vm
+
+      - name: Cache local Maven repository
+        id: cache
+        uses: actions/cache@v3
+        with:
+          path: |
+            ~/.m2/repository/*/*/*
+            !~/.m2/repository/org/apache/bookkeeper
+            !~/.m2/repository/org/apache/distributedlog
+          key: ${{ runner.os }}-bookkeeper-all-${{ hashFiles('**/pom.xml') }}
+
+
+      - name: Set up JDK ${{ matrix.jdk_version }}
+        uses: actions/setup-java@v2
+        with:
+          distribution: 'temurin'
+          java-version: ${{ matrix.jdk_version }}
+
+      - name: Build with Maven
+        run: mvn clean package -B -nsu -DskipBookKeeperServerTests 
-Dorg.slf4j.simpleLogger.defaultLogLevel=INFO
+
+      - name: print JVM thread dumps when cancelled
+        if: cancelled()
+        run: ./dev/ci-tool print_thread_dumps
+
+  owasp-dependency-check:
+    name: OWASP Dependency Check
+    runs-on: ubuntu-latest
+    timeout-minutes: 60
+    needs: [ 'build-and-license-check' ]
+    if: ${{ needs.build-and-license-check.outputs.need_owasp == 'true' }}
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v2
+
+      - name: Tune Runner VM
+        uses: ./.github/actions/tune-runner-vm
+
+      - name: Cache local Maven repository
+        id: cache
+        uses: actions/cache@v2
+        with:
+          path: |
+            ~/.m2/repository/*/*/*
+            !~/.m2/repository/org/apache/bookkeeper
+            !~/.m2/repository/org/apache/distributedlog
+          key: ${{ runner.os }}-bookkeeper-all-${{ hashFiles('**/pom.xml') }}
+
+      - name: Set up JDK 11
+        uses: actions/setup-java@v3
+        with:
+          java-version: 11
+
+      - name: run "clean install verify" to trigger dependency check
+        # excluding dlfs because it includes hadoop lib with
+        # CVEs that we cannot patch up anyways
+        run: mvn -q -B -ntp clean install verify -Powasp-dependency-check 
-DskipTests -pl '!stream/distributedlog/io/dlfs'
+
+      - name: Upload report
+        uses: actions/upload-artifact@v3
+        if: ${{ cancelled() || failure() }}
+        continue-on-error: true
+        with:
+          name: dependency report
+          path: target/dependency-check-report.html
+          retention-days: 7
\ No newline at end of file
diff --git a/.github/workflows/bookie-tests.yml 
b/.github/workflows/bookie-tests.yml
deleted file mode 100644
index c9718233b5..0000000000
--- a/.github/workflows/bookie-tests.yml
+++ /dev/null
@@ -1,102 +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: Bookie Tests
-
-on:
-  push:
-  pull_request:
-    branches:
-      - master
-      - branch-*
-    workflow_dispatch:
-
-env:
-  MAVEN_OPTS: -Dmaven.wagon.httpconnectionManager.ttlSeconds=25 
-Dmaven.wagon.http.retryHandler.count=3
-
-jobs:
-  test:
-    name: Bookie Tests
-    runs-on: ubuntu-latest
-    timeout-minutes: 60
-    steps:
-      - name: Checkout
-        uses: actions/checkout@v2
-
-      - name: Tune Runner VM
-        uses: ./.github/actions/tune-runner-vm
-
-      - name: Detect changed files
-        id: changes
-        uses: apache/pulsar-test-infra/paths-filter@master
-        with:
-          filters: .github/changes-filter.yaml
-          list-files: csv
-
-      - name: Check changed files
-        id: check_changes
-        run: |
-          echo "docs_only=${{ fromJSON(steps.changes.outputs.all_count) == 
fromJSON(steps.changes.outputs.docs_count) && 
fromJSON(steps.changes.outputs.docs_count) > 0 }}" >> $GITHUB_OUTPUT
-
-      - name: Cache local Maven repository
-        if: steps.check_changes.outputs.docs_only != 'true'
-        id: cache
-        uses: actions/cache@v2
-        with:
-          path: |
-            ~/.m2/repository/*/*/*
-            !~/.m2/repository/org/apache/bookkeeper
-            !~/.m2/repository/org/apache/distributedlog
-          key: ${{ runner.os }}-bookkeeper-all-${{ hashFiles('**/pom.xml') }}
-
-      - name: Set up JDK 11
-        if: steps.check_changes.outputs.docs_only != 'true'
-        uses: actions/setup-java@v2
-        with:
-          distribution: 'temurin'
-          java-version: 11
-
-      - name: Maven build bookkeeper-server
-        if: steps.check_changes.outputs.docs_only != 'true'
-        run: mvn -B -nsu -am -pl bookkeeper-server clean install -DskipTests 
-Dorg.slf4j.simpleLogger.defaultLogLevel=INFO
-
-      - name: Run bookie tests
-        if: steps.check_changes.outputs.docs_only != 'true'
-        run: mvn -B -nsu -pl bookkeeper-server test 
-Dtest="org.apache.bookkeeper.bookie.**" -DfailIfNoTests=false 
-Dorg.slf4j.simpleLogger.defaultLogLevel=INFO
-
-      - name: Run shell tests
-        if: steps.check_changes.outputs.docs_only != 'true'
-        run: mvn -B -nsu -pl tests/scripts install -DfailIfNoTests=false 
-Dorg.slf4j.simpleLogger.defaultLogLevel=INFO
-
-      - name: Aggregates all test reports to ./test-reports and 
./surefire-reports directories If failure
-        if: failure()
-        continue-on-error: true
-        uses: ./.github/actions/copy-test-reports
-
-      - name: Upload Surefire reports
-        uses: actions/upload-artifact@v3
-        if: failure()
-        continue-on-error: true
-        with:
-          name: bookie-tests-reports
-          path: surefire-reports
-
-      - name: print JVM thread dumps when cancelled
-        if: cancelled()
-        run: ./dev/ci-tool print_thread_dumps
diff --git a/.github/workflows/client-tests.yml 
b/.github/workflows/client-tests.yml
deleted file mode 100644
index 23853a3da4..0000000000
--- a/.github/workflows/client-tests.yml
+++ /dev/null
@@ -1,93 +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: Client Tests
-
-on:
-  push:
-  pull_request:
-    branches:
-      - master
-      - branch-*
-    workflow_dispatch:
-
-env:
-  MAVEN_OPTS: -Dmaven.wagon.httpconnectionManager.ttlSeconds=25 
-Dmaven.wagon.http.retryHandler.count=3
-
-jobs:
-  test:
-    name: Client Tests
-    runs-on: ubuntu-latest
-    timeout-minutes: 60
-    steps:
-      - name: Checkout
-        uses: actions/checkout@v2
-
-      - name: Tune Runner VM
-        uses: ./.github/actions/tune-runner-vm
-
-      - name: Detect changed files
-        id: changes
-        uses: apache/pulsar-test-infra/paths-filter@master
-        with:
-          filters: .github/changes-filter.yaml
-          list-files: csv
-
-      - name: Check changed files
-        id: check_changes
-        run: |
-          echo "docs_only=${{ fromJSON(steps.changes.outputs.all_count) == 
fromJSON(steps.changes.outputs.docs_count) && 
fromJSON(steps.changes.outputs.docs_count) > 0 }}" >> $GITHUB_OUTPUT
-
-      - name: Cache local Maven repository
-        if: steps.check_changes.outputs.docs_only != 'true'
-        id: cache
-        uses: actions/cache@v2
-        with:
-          path: |
-            ~/.m2/repository/*/*/*
-            !~/.m2/repository/org/apache/bookkeeper
-            !~/.m2/repository/org/apache/distributedlog
-          key: ${{ runner.os }}-bookkeeper-all-${{ hashFiles('**/pom.xml') }}
-
-      - name: Set up JDK 11
-        if: steps.check_changes.outputs.docs_only != 'true'
-        uses: actions/setup-java@v2
-        with:
-          distribution: 'temurin'
-          java-version: 11
-      - name: Run client tests
-        if: steps.check_changes.outputs.docs_only != 'true'
-        run: mvn -B -am -nsu -pl bookkeeper-server clean install test 
-Dtest="org.apache.bookkeeper.client.**" -DfailIfNoTests=false 
-Dorg.slf4j.simpleLogger.defaultLogLevel=INFO
-
-      - name: Aggregates all test reports to ./test-reports and 
./surefire-reports directories If failure
-        if: failure()
-        continue-on-error: true
-        uses: ./.github/actions/copy-test-reports
-
-      - name: Upload Surefire reports
-        uses: actions/upload-artifact@v3
-        if: failure()
-        continue-on-error: true
-        with:
-          name: client-tests-reports
-          path: surefire-reports
-
-      - name: print JVM thread dumps when cancelled
-        if: cancelled()
-        run: ./dev/ci-tool print_thread_dumps
diff --git a/.github/workflows/compatibility-check-java11.yml 
b/.github/workflows/compatibility-check-java11.yml
deleted file mode 100644
index 86a4112da4..0000000000
--- a/.github/workflows/compatibility-check-java11.yml
+++ /dev/null
@@ -1,79 +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: Compatibility Check Java11
-
-on:
-  push:
-  pull_request:
-    branches:
-      - master
-      - branch-*
-    workflow_dispatch:
-
-env:
-  MAVEN_OPTS: -Dmaven.wagon.httpconnectionManager.ttlSeconds=25 
-Dmaven.wagon.http.retryHandler.count=3
-
-jobs:
-  check:
-    name: Compatibility Check Java11
-    runs-on: ubuntu-latest
-    timeout-minutes: 60
-    steps:
-      - name: Checkout
-        uses: actions/checkout@v2
-
-      - name: Tune Runner VM
-        uses: ./.github/actions/tune-runner-vm
-
-      - name: Detect changed files
-        id: changes
-        uses: apache/pulsar-test-infra/paths-filter@master
-        with:
-          filters: .github/changes-filter.yaml
-          list-files: csv
-
-      - name: Check changed files
-        id: check_changes
-        run: |
-          echo "docs_only=${{ fromJSON(steps.changes.outputs.all_count) == 
fromJSON(steps.changes.outputs.docs_count) && 
fromJSON(steps.changes.outputs.docs_count) > 0 }}" >> $GITHUB_OUTPUT
-
-      - name: Cache local Maven repository
-        if: steps.check_changes.outputs.docs_only != 'true'
-        id: cache
-        uses: actions/cache@v2
-        with:
-          path: |
-            ~/.m2/repository/*/*/*
-            !~/.m2/repository/org/apache/bookkeeper
-            !~/.m2/repository/org/apache/distributedlog
-          key: ${{ runner.os }}-bookkeeper-all-${{ hashFiles('**/pom.xml') }}
-
-      - name: Set up JDK 11
-        if: steps.check_changes.outputs.docs_only != 'true'
-        uses: actions/setup-java@v2
-        with:
-          distribution: 'temurin'
-          java-version: 11
-      - name: Build with Maven
-        if: steps.check_changes.outputs.docs_only != 'true'
-        run: mvn clean package -B -nsu -DskipBookKeeperServerTests 
-Dorg.slf4j.simpleLogger.defaultLogLevel=INFO
-      - name: print JVM thread dumps when cancelled
-        if: cancelled()
-        run: ./dev/ci-tool print_thread_dumps
diff --git a/.github/workflows/compatibility-check-java17.yml 
b/.github/workflows/compatibility-check-java17.yml
deleted file mode 100644
index 14a943014f..0000000000
--- a/.github/workflows/compatibility-check-java17.yml
+++ /dev/null
@@ -1,78 +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: Compatibility Check Java17
-
-on:
-  push:
-  pull_request:
-    branches:
-      - master
-      - branch-*
-
-env:
-  MAVEN_OPTS: -Dmaven.wagon.httpconnectionManager.ttlSeconds=25 
-Dmaven.wagon.http.retryHandler.count=3
-
-jobs:
-  check:
-    name: Compatibility Check Java17
-    runs-on: ubuntu-latest
-    timeout-minutes: 60
-    steps:
-      - name: Checkout
-        uses: actions/checkout@v2
-
-      - name: Tune Runner VM
-        uses: ./.github/actions/tune-runner-vm
-
-      - name: Detect changed files
-        id: changes
-        uses: apache/pulsar-test-infra/paths-filter@master
-        with:
-          filters: .github/changes-filter.yaml
-          list-files: csv
-
-      - name: Check changed files
-        id: check_changes
-        run: |
-          echo "docs_only=${{ fromJSON(steps.changes.outputs.all_count) == 
fromJSON(steps.changes.outputs.docs_count) && 
fromJSON(steps.changes.outputs.docs_count) > 0 }}" >> $GITHUB_OUTPUT
-
-      - name: Cache local Maven repository
-        if: steps.check_changes.outputs.docs_only != 'true'
-        id: cache
-        uses: actions/cache@v2
-        with:
-          path: |
-            ~/.m2/repository/*/*/*
-            !~/.m2/repository/org/apache/bookkeeper
-            !~/.m2/repository/org/apache/distributedlog
-          key: ${{ runner.os }}-bookkeeper-all-${{ hashFiles('**/pom.xml') }}
-
-      - name: Set up JDK 11
-        if: steps.check_changes.outputs.docs_only != 'true'
-        uses: actions/setup-java@v2
-        with:
-          distribution: 'temurin'
-          java-version: 17
-      - name: Build with Maven
-        if: steps.check_changes.outputs.docs_only != 'true'
-        run: mvn clean package -B -nsu -DskipBookKeeperServerTests 
-Dorg.slf4j.simpleLogger.defaultLogLevel=INFO
-      - name: print JVM thread dumps when cancelled
-        if: cancelled()
-        run: ./dev/ci-tool print_thread_dumps
diff --git a/.github/workflows/compatibility-check-java8.yml 
b/.github/workflows/compatibility-check-java8.yml
deleted file mode 100644
index 22f24885a4..0000000000
--- a/.github/workflows/compatibility-check-java8.yml
+++ /dev/null
@@ -1,79 +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: Compatibility Check Java8
-
-on:
-  push:
-  pull_request:
-    branches:
-      - master
-      - branch-*
-    workflow_dispatch:
-
-env:
-  MAVEN_OPTS: -Dmaven.wagon.httpconnectionManager.ttlSeconds=25 
-Dmaven.wagon.http.retryHandler.count=3
-
-jobs:
-  check:
-    name: Compatibility Check Java8
-    runs-on: ubuntu-latest
-    timeout-minutes: 60
-    steps:
-      - name: Checkout
-        uses: actions/checkout@v2
-
-      - name: Tune Runner VM
-        uses: ./.github/actions/tune-runner-vm
-
-      - name: Detect changed files
-        id: changes
-        uses: apache/pulsar-test-infra/paths-filter@master
-        with:
-          filters: .github/changes-filter.yaml
-          list-files: csv
-
-      - name: Check changed files
-        id: check_changes
-        run: |
-          echo "docs_only=${{ fromJSON(steps.changes.outputs.all_count) == 
fromJSON(steps.changes.outputs.docs_count) && 
fromJSON(steps.changes.outputs.docs_count) > 0 }}" >> $GITHUB_OUTPUT
-
-      - name: Cache local Maven repository
-        if: steps.check_changes.outputs.docs_only != 'true'
-        id: cache
-        uses: actions/cache@v2
-        with:
-          path: |
-            ~/.m2/repository/*/*/*
-            !~/.m2/repository/org/apache/bookkeeper
-            !~/.m2/repository/org/apache/distributedlog
-          key: ${{ runner.os }}-bookkeeper-all-${{ hashFiles('**/pom.xml') }}
-
-      - name: Set up JDK 1.8
-        if: steps.check_changes.outputs.docs_only != 'true'
-        uses: actions/setup-java@v1
-        with:
-          java-version: 1.8
-      - name: Build with Maven
-        if: steps.check_changes.outputs.docs_only != 'true'
-        run: mvn clean package spotbugs:check -B -nsu 
-DskipBookKeeperServerTests -Dorg.slf4j.simpleLogger.defaultLogLevel=INFO
-
-      - name: print JVM thread dumps when cancelled
-        if: cancelled()
-        run: ./dev/ci-tool print_thread_dumps
diff --git a/.github/workflows/integration-tests.yml 
b/.github/workflows/integration-tests.yml
deleted file mode 100644
index 04dcedb9a4..0000000000
--- a/.github/workflows/integration-tests.yml
+++ /dev/null
@@ -1,89 +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: Integration Tests
-
-on:
-  push:
-  pull_request:
-    branches:
-      - master
-      - branch-*
-    workflow_dispatch:
-
-env:
-  MAVEN_OPTS: -Dmaven.wagon.httpconnectionManager.ttlSeconds=25 
-Dmaven.wagon.http.retryHandler.count=3
-
-jobs:
-  test:
-    name: Integration Tests
-    runs-on: ubuntu-latest
-    timeout-minutes: 60
-    steps:
-      - name: Checkout
-        uses: actions/checkout@v2
-
-      - name: Tune Runner VM
-        uses: ./.github/actions/tune-runner-vm
-
-      - name: Detect changed files
-        id: changes
-        uses: apache/pulsar-test-infra/paths-filter@master
-        with:
-          filters: .github/changes-filter.yaml
-          list-files: csv
-
-      - name: Check changed files
-        id: check_changes
-        run: |
-          echo "docs_only=${{ fromJSON(steps.changes.outputs.all_count) == 
fromJSON(steps.changes.outputs.docs_count) && 
fromJSON(steps.changes.outputs.docs_count) > 0 }}" >> $GITHUB_OUTPUT
-
-      - name: Cache local Maven repository
-        if: steps.check_changes.outputs.docs_only != 'true'
-        id: cache
-        uses: actions/cache@v2
-        with:
-          path: |
-            ~/.m2/repository/*/*/*
-            !~/.m2/repository/org/apache/bookkeeper
-            !~/.m2/repository/org/apache/distributedlog
-          key: ${{ runner.os }}-bookkeeper-all-${{ hashFiles('**/pom.xml') }}
-
-      - name: Set up JDK 11
-        if: steps.check_changes.outputs.docs_only != 'true'
-        uses: actions/setup-java@v2
-        with:
-          distribution: 'temurin'
-          java-version: 11
-
-      - name: Build with Maven
-        if: steps.check_changes.outputs.docs_only != 'true'
-        run: mvn -B -nsu clean install -Pdocker -DskipTests 
-Dorg.slf4j.simpleLogger.defaultLogLevel=INFO
-
-      - name: Run metadata driver tests
-        if: steps.check_changes.outputs.docs_only != 'true'
-        run: mvn -B -nsu -f metadata-drivers/pom.xml test -DintegrationTests 
-Dorg.slf4j.simpleLogger.defaultLogLevel=INFO
-
-      - name: Run all integration tests
-        if: steps.check_changes.outputs.docs_only != 'true'
-        run: mvn -B -nsu -f tests/pom.xml test -DintegrationTests 
-Dorg.slf4j.simpleLogger.defaultLogLevel=INFO
-
-      - name: print JVM thread dumps when cancelled
-        if: cancelled()
-        run: ./dev/ci-tool print_thread_dumps
diff --git a/.github/workflows/macos-build.yml 
b/.github/workflows/macos-build.yml
deleted file mode 100644
index f5eba33fa5..0000000000
--- a/.github/workflows/macos-build.yml
+++ /dev/null
@@ -1,73 +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: Build with macos on JDK 11
-
-on:
-  push:
-  pull_request:
-    branches:
-      - master
-      - branch-*
-
-jobs:
-  test:
-    name: Build with macos on JDK 11
-    runs-on: macos-latest
-    timeout-minutes: 30
-    steps:
-      - name: Checkout
-        uses: actions/checkout@v3
-
-      - name: Tune Runner VM
-        uses: ./.github/actions/tune-runner-vm
-
-      - name: Detect changed files
-        id: changes
-        uses: apache/pulsar-test-infra/paths-filter@master
-        with:
-          filters: .github/changes-filter.yaml
-          list-files: csv
-
-      - name: Check changed files
-        id: check_changes
-        run: |
-          echo "docs_only=${{ fromJSON(steps.changes.outputs.all_count) == 
fromJSON(steps.changes.outputs.docs_count) && 
fromJSON(steps.changes.outputs.docs_count) > 0 }}" >> $GITHUB_OUTPUT
-
-      - name: Cache local Maven repository
-        if: steps.check_changes.outputs.docs_only != 'true'
-        id: cache
-        uses: actions/cache@v2
-        with:
-          path: |
-            ~/.m2/repository/*/*/*
-            !~/.m2/repository/org/apache/bookkeeper
-            !~/.m2/repository/org/apache/distributedlog
-          key: ${{ runner.os }}-bookkeeper-all-${{ hashFiles('**/pom.xml') }}
-
-      - name: Set up JDK 11
-        if: steps.check_changes.outputs.docs_only != 'true'
-        uses: actions/setup-java@v3
-        with:
-          distribution: 'temurin'
-          java-version: 11
-
-      - name: mvn package
-        if: steps.check_changes.outputs.docs_only != 'true'
-        run: mvn -B -nsu clean package -DskipTests
diff --git a/.github/workflows/owasp-dep-check.yml 
b/.github/workflows/owasp-dep-check.yml
deleted file mode 100644
index 8b7997e1cb..0000000000
--- a/.github/workflows/owasp-dep-check.yml
+++ /dev/null
@@ -1,83 +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: OWASP Dependency Check
-
-on:
-  push:
-  pull_request:
-    branches:
-      - master
-      - branch-*
-    paths-ignore:
-      - 'site3/**'
-    workflow_dispatch:
-
-env:
-  MAVEN_OPTS: -Dmaven.wagon.httpconnectionManager.ttlSeconds=25 
-Dmaven.wagon.http.retryHandler.count=3
-
-jobs:
-  check:
-    name: OWASP Dependency Check
-    runs-on: ubuntu-latest
-    timeout-minutes: 60
-    steps:
-      - name: Checkout
-        uses: actions/checkout@v2
-
-      - name: Tune Runner VM
-        uses: ./.github/actions/tune-runner-vm
-
-      - name: Detect changed files
-        id: changes
-        uses: apache/pulsar-test-infra/paths-filter@master
-        with:
-          filters: .github/changes-filter.yaml
-          list-files: csv
-
-      - name: Cache local Maven repository
-        if: ${{ steps.changes.outputs.need_owasp == 'true' }}
-        id: cache
-        uses: actions/cache@v2
-        with:
-          path: |
-            ~/.m2/repository/*/*/*
-            !~/.m2/repository/org/apache/bookkeeper
-            !~/.m2/repository/org/apache/distributedlog
-          key: ${{ runner.os }}-bookkeeper-all-${{ hashFiles('**/pom.xml') }}
-
-      - name: Set up JDK 1.8
-        uses: actions/setup-java@v1
-        if: ${{ steps.changes.outputs.need_owasp == 'true' }}
-        with:
-          java-version: 1.8
-
-      - name: run "clean install verify" to trigger dependency check
-        if: ${{ steps.changes.outputs.need_owasp == 'true' }}
-        # excluding dlfs because it includes hadoop lib with
-        # CVEs that we cannot patch up anyways
-        run: mvn -q -B -ntp clean install verify -Powasp-dependency-check 
-DskipTests -pl '!stream/distributedlog/io/dlfs'
-
-      - name: Upload report
-        uses: actions/upload-artifact@v3
-        if: ${{ cancelled() || failure() }}
-        continue-on-error: true
-        with:
-          name: dependency report
-          path: target/dependency-check-report.html
diff --git a/.github/workflows/pr-validation.yml 
b/.github/workflows/pr-validation.yml
deleted file mode 100644
index 5205b9661c..0000000000
--- a/.github/workflows/pr-validation.yml
+++ /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: PR Validation
-
-on:
-  push:
-  pull_request:
-    branches:
-      - master
-      - branch-*
-    workflow_dispatch:
-
-env:
-  MAVEN_OPTS: -Dmaven.wagon.httpconnectionManager.ttlSeconds=25 
-Dmaven.wagon.http.retryHandler.count=3
-
-jobs:
-  check:
-    name: PR Validation
-    runs-on: ubuntu-latest
-    timeout-minutes: 60
-    steps:
-      - name: Checkout
-        uses: actions/checkout@v2
-
-      - name: Tune Runner VM
-        uses: ./.github/actions/tune-runner-vm
-
-      - name: Detect changed files
-        id: changes
-        uses: apache/pulsar-test-infra/paths-filter@master
-        with:
-          filters: .github/changes-filter.yaml
-          list-files: csv
-
-      - name: Check changed files
-        id: check_changes
-        run: |
-          echo "docs_only=${{ fromJSON(steps.changes.outputs.all_count) == 
fromJSON(steps.changes.outputs.docs_count) && 
fromJSON(steps.changes.outputs.docs_count) > 0 }}" >> $GITHUB_OUTPUT
-
-      - name: Cache local Maven repository
-        if: steps.check_changes.outputs.docs_only != 'true'
-        id: cache
-        uses: actions/cache@v2
-        with:
-          path: |
-            ~/.m2/repository/*/*/*
-            !~/.m2/repository/org/apache/bookkeeper
-            !~/.m2/repository/org/apache/distributedlog
-          key: ${{ runner.os }}-bookkeeper-all-${{ hashFiles('**/pom.xml') }}
-
-      - name: Set up JDK 11
-        if: steps.check_changes.outputs.docs_only != 'true'
-        uses: actions/setup-java@v2
-        with:
-          distribution: 'temurin'
-          java-version: 11
-      - name: Validate pull request
-        if: steps.check_changes.outputs.docs_only != 'true'
-        run: mvn clean -B -nsu apache-rat:check checkstyle:check 
spotbugs:check package -Ddistributedlog -DskipTests 
-Dorg.slf4j.simpleLogger.defaultLogLevel=INFO
-        
-      - name: Check license files
-        if: steps.check_changes.outputs.docs_only != 'true'
-        run: dev/check-all-licenses
-
-      - name: Generate Javadoc
-        if: steps.check_changes.outputs.docs_only != 'true'
-        run: mvn clean -B -nsu -am -pl 
bookkeeper-common,bookkeeper-server,:bookkeeper-stats-api,:bookkeeper-stats-providers,:codahale-metrics-provider,:prometheus-metrics-provider
 install javadoc:aggregate -DskipTests -Pdelombok
diff --git a/.github/workflows/remaining-tests.yml 
b/.github/workflows/remaining-tests.yml
deleted file mode 100644
index 92e61a8247..0000000000
--- a/.github/workflows/remaining-tests.yml
+++ /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: Remaining Tests
-
-on:
-  push:
-  pull_request:
-    branches:
-      - master
-      - branch-*
-    workflow_dispatch:
-
-env:
-  MAVEN_OPTS: -Dmaven.wagon.httpconnectionManager.ttlSeconds=25 
-Dmaven.wagon.http.retryHandler.count=3
-
-jobs:
-  test:
-    name: Remaining Tests
-    runs-on: ubuntu-latest
-    timeout-minutes: 120
-    steps:
-      - name: Checkout
-        uses: actions/checkout@v2
-
-      - name: Tune Runner VM
-        uses: ./.github/actions/tune-runner-vm
-
-      - name: Detect changed files
-        id: changes
-        uses: apache/pulsar-test-infra/paths-filter@master
-        with:
-          filters: .github/changes-filter.yaml
-          list-files: csv
-
-      - name: Check changed files
-        id: check_changes
-        run: |
-          echo "docs_only=${{ fromJSON(steps.changes.outputs.all_count) == 
fromJSON(steps.changes.outputs.docs_count) && 
fromJSON(steps.changes.outputs.docs_count) > 0 }}" >> $GITHUB_OUTPUT
-
-      - name: Cache local Maven repository
-        if: steps.check_changes.outputs.docs_only != 'true'
-        id: cache
-        uses: actions/cache@v2
-        with:
-          path: |
-            ~/.m2/repository/*/*/*
-            !~/.m2/repository/org/apache/bookkeeper
-            !~/.m2/repository/org/apache/distributedlog
-          key: ${{ runner.os }}-bookkeeper-all-${{ hashFiles('**/pom.xml') }}
-
-
-
-      - name: Set up JDK 11
-        if: steps.check_changes.outputs.docs_only != 'true'
-        uses: actions/setup-java@v2
-        with:
-          distribution: 'temurin'
-          java-version: 11
-      - name: Run remaining tests
-        if: steps.check_changes.outputs.docs_only != 'true'
-        run: mvn -B -nsu -am -pl bookkeeper-server clean install test 
-Dtest="!org.apache.bookkeeper.client.**,!org.apache.bookkeeper.bookie.**,!org.apache.bookkeeper.replication.**,!org.apache.bookkeeper.tls.**"
 -DfailIfNoTests=false -Dorg.slf4j.simpleLogger.defaultLogLevel=INFO
-
-      - name: Aggregates all test reports to ./test-reports and 
./surefire-reports directories If failure
-        if: failure()
-        continue-on-error: true
-        uses: ./.github/actions/copy-test-reports
-
-      - name: Upload Surefire reports
-        uses: actions/upload-artifact@v3
-        if: failure()
-        continue-on-error: true
-        with:
-          name: remaining-tests-reports
-          path: surefire-reports
-
-      - name: print JVM thread dumps when cancelled
-        if: cancelled()
-        run: ./dev/ci-tool print_thread_dumps
diff --git a/.github/workflows/replication-tests.yml 
b/.github/workflows/replication-tests.yml
deleted file mode 100644
index d462344e78..0000000000
--- a/.github/workflows/replication-tests.yml
+++ /dev/null
@@ -1,94 +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: Replication Tests
-
-on:
-  push:
-  pull_request:
-    branches:
-      - master
-      - branch-*
-    workflow_dispatch:
-
-env:
-  MAVEN_OPTS: -Dmaven.wagon.httpconnectionManager.ttlSeconds=25 
-Dmaven.wagon.http.retryHandler.count=3
-
-jobs:
-  test:
-    name: Replication Tests
-    runs-on: ubuntu-latest
-    timeout-minutes: 60
-    steps:
-      - name: Checkout
-        uses: actions/checkout@v2
-
-      - name: Tune Runner VM
-        uses: ./.github/actions/tune-runner-vm
-
-      - name: Detect changed files
-        id: changes
-        uses: apache/pulsar-test-infra/paths-filter@master
-        with:
-          filters: .github/changes-filter.yaml
-          list-files: csv
-
-      - name: Check changed files
-        id: check_changes
-        run: |
-          echo "docs_only=${{ fromJSON(steps.changes.outputs.all_count) == 
fromJSON(steps.changes.outputs.docs_count) && 
fromJSON(steps.changes.outputs.docs_count) > 0 }}" >> $GITHUB_OUTPUT
-
-      - name: Cache local Maven repository
-        if: steps.check_changes.outputs.docs_only != 'true'
-        id: cache
-        uses: actions/cache@v2
-        with:
-          path: |
-            ~/.m2/repository/*/*/*
-            !~/.m2/repository/org/apache/bookkeeper
-            !~/.m2/repository/org/apache/distributedlog
-          key: ${{ runner.os }}-bookkeeper-all-${{ hashFiles('**/pom.xml') }}
-
-
-      - name: Set up JDK 11
-        if: steps.check_changes.outputs.docs_only != 'true'
-        uses: actions/setup-java@v2
-        with:
-          distribution: 'temurin'
-          java-version: 11
-      - name: Run replication tests
-        if: steps.check_changes.outputs.docs_only != 'true'
-        run: mvn -B -nsu -am -pl bookkeeper-server clean install test 
-Dtest="org.apache.bookkeeper.replication.**" -DfailIfNoTests=false 
-Dorg.slf4j.simpleLogger.defaultLogLevel=INFO
-
-      - name: Aggregates all test reports to ./test-reports and 
./surefire-reports directories If failure
-        if: failure()
-        continue-on-error: true
-        uses: ./.github/actions/copy-test-reports
-
-      - name: Upload Surefire reports
-        uses: actions/upload-artifact@v3
-        if: failure()
-        continue-on-error: true
-        with:
-          name: replication-tests-reports
-          path: surefire-reports
-
-      - name: print JVM thread dumps when cancelled
-        if: cancelled()
-        run: ./dev/ci-tool print_thread_dumps
diff --git a/.github/workflows/stream-tests.yml 
b/.github/workflows/stream-tests.yml
deleted file mode 100644
index d7d6f7d471..0000000000
--- a/.github/workflows/stream-tests.yml
+++ /dev/null
@@ -1,97 +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: StreamStorage Tests
-
-on:
-  push:
-  pull_request:
-    branches:
-      - master
-    workflow_dispatch:
-
-env:
-  MAVEN_OPTS: -Dmaven.wagon.httpconnectionManager.ttlSeconds=25 
-Dmaven.wagon.http.retryHandler.count=3
-
-jobs:
-  test:
-    name: StreamStorage Tests
-    runs-on: ubuntu-latest
-    timeout-minutes: 60
-    steps:
-      - name: Checkout
-        uses: actions/checkout@v2
-
-      - name: Tune Runner VM
-        uses: ./.github/actions/tune-runner-vm
-
-      - name: Detect changed files
-        id: changes
-        uses: apache/pulsar-test-infra/paths-filter@master
-        with:
-          filters: .github/changes-filter.yaml
-          list-files: csv
-
-      - name: Check changed files
-        id: check_changes
-        run: |
-          echo "docs_only=${{ fromJSON(steps.changes.outputs.all_count) == 
fromJSON(steps.changes.outputs.docs_count) && 
fromJSON(steps.changes.outputs.docs_count) > 0 }}" >> $GITHUB_OUTPUT
-
-      - name: Cache local Maven repository
-        if: steps.check_changes.outputs.docs_only != 'true'
-        id: cache
-        uses: actions/cache@v2
-        with:
-          path: |
-            ~/.m2/repository/*/*/*
-            !~/.m2/repository/org/apache/bookkeeper
-            !~/.m2/repository/org/apache/distributedlog
-          key: ${{ runner.os }}-bookkeeper-all-${{ hashFiles('**/pom.xml') }}
-
-
-      - name: Set up JDK 11
-        if: steps.check_changes.outputs.docs_only != 'true'
-        uses: actions/setup-java@v2
-        with:
-          distribution: 'temurin'
-          java-version: 11
-      - name: Build with Maven
-        if: steps.check_changes.outputs.docs_only != 'true'
-        run: mvn -B -nsu clean install -DskipTests 
-Dorg.slf4j.simpleLogger.defaultLogLevel=INFO
-      - name: Run StreamStorage tests
-        if: steps.check_changes.outputs.docs_only != 'true'
-        run: mvn -B -nsu -f stream/pom.xml verify -DstreamTests 
-Dorg.slf4j.simpleLogger.defaultLogLevel=INFO
-
-      - name: Aggregates all test reports to ./test-reports and 
./surefire-reports directories If failure
-        if: failure()
-        continue-on-error: true
-        uses: ./.github/actions/copy-test-reports
-
-      - name: Upload Surefire reports
-        uses: actions/upload-artifact@v3
-        if: failure()
-        continue-on-error: true
-        with:
-          name: stream-tests-reports
-          path: surefire-reports
-
-      - name: print JVM thread dumps when cancelled
-        if: cancelled()
-        run: ./dev/ci-tool print_thread_dumps
-
diff --git a/.github/workflows/tls-tests.yml b/.github/workflows/tls-tests.yml
deleted file mode 100644
index 0dcf2b6613..0000000000
--- a/.github/workflows/tls-tests.yml
+++ /dev/null
@@ -1,94 +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: TLS Tests
-
-on:
-  push:
-  pull_request:
-    branches:
-      - master
-      - branch-*
-    workflow_dispatch:
-
-env:
-  MAVEN_OPTS: -Dmaven.wagon.httpconnectionManager.ttlSeconds=25 
-Dmaven.wagon.http.retryHandler.count=3
-
-jobs:
-  test:
-    name: TLS Tests
-    runs-on: ubuntu-latest
-    timeout-minutes: 60
-    steps:
-      - name: Checkout
-        uses: actions/checkout@v2
-
-      - name: Tune Runner VM
-        uses: ./.github/actions/tune-runner-vm
-
-      - name: Detect changed files
-        id: changes
-        uses: apache/pulsar-test-infra/paths-filter@master
-        with:
-          filters: .github/changes-filter.yaml
-          list-files: csv
-
-      - name: Check changed files
-        id: check_changes
-        run: |
-          echo "docs_only=${{ fromJSON(steps.changes.outputs.all_count) == 
fromJSON(steps.changes.outputs.docs_count) && 
fromJSON(steps.changes.outputs.docs_count) > 0 }}" >> $GITHUB_OUTPUT
-
-      - name: Cache local Maven repository
-        if: steps.check_changes.outputs.docs_only != 'true'
-        id: cache
-        uses: actions/cache@v2
-        with:
-          path: |
-            ~/.m2/repository/*/*/*
-            !~/.m2/repository/org/apache/bookkeeper
-            !~/.m2/repository/org/apache/distributedlog
-          key: ${{ runner.os }}-bookkeeper-all-${{ hashFiles('**/pom.xml') }}
-
-
-      - name: Set up JDK 11
-        if: steps.check_changes.outputs.docs_only != 'true'
-        uses: actions/setup-java@v2
-        with:
-          distribution: 'temurin'
-          java-version: 11
-      - name: Run tls tests
-        if: steps.check_changes.outputs.docs_only != 'true'
-        run: mvn -B -am -nsu -pl bookkeeper-server clean install test 
-Dtest="org.apache.bookkeeper.tls.**" -DfailIfNoTests=false 
-Dorg.slf4j.simpleLogger.defaultLogLevel=INFO
-
-      - name: Aggregates all test reports to ./test-reports and 
./surefire-reports directories If failure
-        if: failure()
-        continue-on-error: true
-        uses: ./.github/actions/copy-test-reports
-
-      - name: Upload Surefire reports
-        uses: actions/upload-artifact@v3
-        if: failure()
-        continue-on-error: true
-        with:
-          name: tls-tests-reports
-          path: surefire-reports
-
-      - name: print JVM thread dumps when cancelled
-        if: cancelled()
-        run: ./dev/ci-tool print_thread_dumps
diff --git a/.github/workflows/windows-build.yml 
b/.github/workflows/windows-build.yml
deleted file mode 100644
index f76e7565bc..0000000000
--- a/.github/workflows/windows-build.yml
+++ /dev/null
@@ -1,78 +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: Build with windows on JDK 11
-
-on:
-  push:
-  pull_request:
-    branches:
-      - master
-      - branch-*
-
-jobs:
-  test:
-    name: Build with windows on JDK 11
-    runs-on: windows-latest
-    timeout-minutes: 30
-    steps:
-      - name: Checkout
-        uses: actions/checkout@v3
-
-      - name: Tune Runner VM
-        uses: ./.github/actions/tune-runner-vm
-
-      - name: Detect changed files
-        id: changes
-        uses: apache/pulsar-test-infra/paths-filter@master
-        with:
-          filters: .github/changes-filter.yaml
-          list-files: csv
-
-      - name: Check changed files
-        id: check_changes
-        run: |
-          echo "docs_only=${{ fromJSON(steps.changes.outputs.all_count) == 
fromJSON(steps.changes.outputs.docs_count) && 
fromJSON(steps.changes.outputs.docs_count) > 0 }}" >> $GITHUB_OUTPUT
-
-      - name: Install mingw
-        if: steps.check_changes.outputs.docs_only != 'true'
-        run: choco install mingw
-
-      - name: Cache local Maven repository
-        if: steps.check_changes.outputs.docs_only != 'true'
-        id: cache
-        uses: actions/cache@v2
-        with:
-          path: |
-            ~/.m2/repository/*/*/*
-            !~/.m2/repository/org/apache/bookkeeper
-            !~/.m2/repository/org/apache/distributedlog
-          key: ${{ runner.os }}-bookkeeper-all-${{ hashFiles('**/pom.xml') }}
-
-
-      - name: Set up JDK 11
-        if: steps.check_changes.outputs.docs_only != 'true'
-        uses: actions/setup-java@v3
-        with:
-          distribution: 'temurin'
-          java-version: 11
-
-      - name: mvn package
-        if: steps.check_changes.outputs.docs_only != 'true'
-        run: mvn -B -nsu clean package -DskipTests

Reply via email to