This is an automated email from the ASF dual-hosted git repository. jinrongtong pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/rocketmq.git
The following commit(s) were added to refs/heads/develop by this push: new 15641b6aea [ISSUE #8733] Add a performance benchmark testing pipeline (#8734) 15641b6aea is described below commit 15641b6aeaa0fcaa55ea25aa0bb296d8d26cc750 Author: 小陈 <jamiechen....@gmail.com> AuthorDate: Sat Oct 5 10:07:00 2024 +0800 [ISSUE #8733] Add a performance benchmark testing pipeline (#8734) * Test the performance benchmark pipeline execution status (#8759) * Add a benchmark workflow to current ci workflows * Fix bug: Use the correct branch for image generation * Update config * Update config * Replace controller image to fix the issue of the controller failing to start * Trigger ci * Trigger ci * Update test tool * Update test tool * Extend benchmark based on the original workflow * Test the performance benchmark pipeline execution status * Update test tool * Add a benchmark workflow to current ci workflows * Fix bug: Use the correct branch for image generation * Update config * Update config * Replace controller image to fix the issue of the controller failing to start * Trigger ci * Trigger ci * Update test tool * Update test tool * Extend benchmark based on the original workflow * Set parameter thresholds for the performance benchmark --- .github/workflows/push-ci.yml | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/.github/workflows/push-ci.yml b/.github/workflows/push-ci.yml index b23d69788c..cc2a053eba 100644 --- a/.github/workflows/push-ci.yml +++ b/.github/workflows/push-ci.yml @@ -78,7 +78,6 @@ jobs: name: versionlist path: rocketmq-docker/image-build-ci/versionlist/* - list-version: if: > github.repository == 'apache/rocketmq' && @@ -101,6 +100,7 @@ jobs: a=(`ls versionlist`) printf '%s\n' "${a[@]}" | jq -R . | jq -s . echo version-json=`printf '%s\n' "${a[@]}" | jq -R . | jq -s .` >> $GITHUB_OUTPUT + deploy: if: ${{ success() }} name: Deploy RocketMQ @@ -110,7 +110,9 @@ jobs: strategy: matrix: version: ${{ fromJSON(needs.list-version.outputs.version-json) }} + test-type: [e2e, benchmark] steps: + - run: echo "Running ${{ matrix.test-type }}... " - uses: apache/rocketmq-test-tool@7d84d276ad7755b1dc5cf9657a7a9bff6ae6d288 name: Deploy rocketmq with: @@ -134,6 +136,7 @@ jobs: image: repository: ${{env.DOCKER_REPO}} tag: ${{ matrix.version }} + test-e2e-grpc-java: if: ${{ success() }} name: Test E2E grpc java @@ -247,16 +250,46 @@ jobs: name: test-e2e-remoting-java-log.txt path: testlog.txt + benchmark-test: + if: ${{ success() }} + runs-on: ubuntu-latest + name: Performance benchmark test + needs: [ list-version, deploy ] + timeout-minutes: 60 + steps: + - uses: apache/rocketmq-test-tool/benchmark-runner@ce372e5f3906ca1891e4918b05be14608eae608e + name: Performance benchmark + with: + action: "performance-benchmark" + ask-config: "${{ secrets.ASK_CONFIG_VIRGINA }}" + job-id: 1 + # The time to run the test, 15 minutes + test-time: "900" + # Some thresholds set in advance + min-send-tps-threshold: "12000" + max-rt-ms-threshold: "500" + avg-rt-ms-threshold: "10" + max-2c-rt-ms-threshold: "100" + avg-2c-rt-ms-threshold: "10" + - name: Upload test report + if: always() + uses: actions/upload-artifact@v4 + with: + name: benchmark-report + path: benchmark/ + clean: if: always() name: Clean - needs: [list-version, test-e2e-grpc-java, test-e2e-golang, test-e2e-remoting-java] + needs: [list-version, test-e2e-grpc-java, test-e2e-golang, test-e2e-remoting-java, benchmark-test] runs-on: ubuntu-latest timeout-minutes: 60 strategy: matrix: version: ${{ fromJSON(needs.list-version.outputs.version-json) }} + test-type: [ e2e, benchmark ] steps: + - run: echo "Cleaning ${{ matrix.test-type }}... " - uses: apache/rocketmq-test-tool@7d84d276ad7755b1dc5cf9657a7a9bff6ae6d288 name: clean with: