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