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

wangdan pushed a commit to branch thirdparty-asan-image
in repository https://gitbox.apache.org/repos/asf/incubator-pegasus.git


The following commit(s) were added to refs/heads/thirdparty-asan-image by this 
push:
     new 68a28432c ci(github): run workflows for CPP ASan tests based on 
third-party images dedicated to ASan
68a28432c is described below

commit 68a28432c24cf217d7e1af3d3f5296c0a468b298
Author: Dan Wang <[email protected]>
AuthorDate: Wed Jan 7 12:23:51 2026 +0800

    ci(github): run workflows for CPP ASan tests based on third-party images 
dedicated to ASan
---
 .github/workflows/build-push-thirdparty.yml | 30 +++++++++++++++++++++++++++++
 .github/workflows/lint_and_test_cpp.yaml    |  4 ++--
 docker/thirdparties-bin/Dockerfile          |  3 ++-
 3 files changed, 34 insertions(+), 3 deletions(-)

diff --git a/.github/workflows/build-push-thirdparty.yml 
b/.github/workflows/build-push-thirdparty.yml
index 2b068e99d..20566ece4 100644
--- a/.github/workflows/build-push-thirdparty.yml
+++ b/.github/workflows/build-push-thirdparty.yml
@@ -154,6 +154,36 @@ jobs:
             HADOOP_BIN_PATH=hadoop-bin
             ZOOKEEPER_BIN_PATH=zookeeper-bin
 
+  build_push_bin_test_asan_docker_images:
+    runs-on: ubuntu-latest
+    needs: build_push_src_docker_images
+    steps:
+      - uses: actions/checkout@v4
+      - name: Set up QEMU
+        uses: docker/setup-qemu-action@v1
+      - name: Set up Docker Buildx
+        uses: docker/setup-buildx-action@v1
+      - name: Login to DockerHub
+        uses: docker/login-action@v1
+        with:
+          username: ${{ secrets.DOCKERHUB_USER }}
+          password: ${{ secrets.DOCKERHUB_TOKEN }}
+      - name: Build and push for test asan
+        uses: docker/[email protected]
+        with:
+          context: .
+          file: ./docker/thirdparties-bin/Dockerfile
+          push: true
+          tags: |
+            apache/pegasus:thirdparties-bin-test-asan-${{ inputs.osversion 
}}-${{ github.ref_name }}
+          build-args: |
+            GITHUB_BRANCH=${{ github.ref_name }}
+            OS_VERSION=${{ inputs.osversion }}
+            ROCKSDB_PORTABLE=1
+            ENABLE_ASAN=ON
+            HADOOP_BIN_PATH=hadoop-bin
+            ZOOKEEPER_BIN_PATH=zookeeper-bin
+
   build_push_bin_test_jemalloc_docker_images:
     runs-on: ubuntu-latest
     needs: build_push_src_docker_images
diff --git a/.github/workflows/lint_and_test_cpp.yaml 
b/.github/workflows/lint_and_test_cpp.yaml
index 311533b1d..cca7b71ef 100644
--- a/.github/workflows/lint_and_test_cpp.yaml
+++ b/.github/workflows/lint_and_test_cpp.yaml
@@ -207,7 +207,7 @@ jobs:
       ARTIFACT_NAME: release_address
       BUILD_OPTIONS: --sanitizer address --disable_gperf --test
     container:
-      image: apache/pegasus:thirdparties-bin-test-ubuntu2204-${{ 
github.base_ref }}
+      image: apache/pegasus:thirdparties-bin-test-asan-ubuntu2204-${{ 
github.base_ref }}
     steps:
       - uses: actions/checkout@v4
       - name: Rebuild thirdparty if needed
@@ -281,7 +281,7 @@ jobs:
     env:
       ARTIFACT_NAME: release_address
     container:
-      image: apache/pegasus:thirdparties-bin-test-ubuntu2204-${{ 
github.base_ref }}
+      image: apache/pegasus:thirdparties-bin-test-asan-ubuntu2204-${{ 
github.base_ref }}
       options: --cap-add=SYS_PTRACE
     steps:
       - uses: actions/checkout@v4
diff --git a/docker/thirdparties-bin/Dockerfile 
b/docker/thirdparties-bin/Dockerfile
index 3c9845462..76b0c6c03 100644
--- a/docker/thirdparties-bin/Dockerfile
+++ b/docker/thirdparties-bin/Dockerfile
@@ -28,12 +28,13 @@ ARG GITHUB_BRANCH
 ARG GITHUB_REPOSITORY_URL=https://github.com/apache/incubator-pegasus.git
 ARG ROCKSDB_PORTABLE=native
 ARG USE_JEMALLOC=OFF
+ARG ENABLE_ASAN=OFF
 ARG HADOOP_BIN_PATH=hadoop-bin
 ARG ZOOKEEPER_BIN_PATH=zookeeper-bin
 RUN git clone --depth=1 --branch=${GITHUB_BRANCH} ${GITHUB_REPOSITORY_URL} \
     && cd incubator-pegasus/thirdparty \
     && unzip /root/thirdparties-src.zip -d . \
-    && cmake -DCMAKE_BUILD_TYPE=Release -DROCKSDB_PORTABLE=${ROCKSDB_PORTABLE} 
-DUSE_JEMALLOC=${USE_JEMALLOC} -B build/ . \
+    && cmake -DCMAKE_BUILD_TYPE=Release -DROCKSDB_PORTABLE=${ROCKSDB_PORTABLE} 
-DUSE_JEMALLOC=${USE_JEMALLOC} -DENABLE_ASAN=${ENABLE_ASAN} -B build/ . \
     && cmake --build build/ -j $(($(nproc)/2+1)) \
     && ../admin_tools/download_hadoop.sh ${HADOOP_BIN_PATH} \
     && ../admin_tools/download_zk.sh ${ZOOKEEPER_BIN_PATH} \


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to