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

lidavidm pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-adbc.git


The following commit(s) were added to refs/heads/main by this push:
     new 9fb06be1e ci: add a nightly build job for musl linux (alpine) (#3434)
9fb06be1e is described below

commit 9fb06be1e2c2d62ff71d39d65e132d51b321b03c
Author: eitsupi <[email protected]>
AuthorDate: Sun Dec 21 16:40:19 2025 +0900

    ci: add a nightly build job for musl linux (alpine) (#3434)
    
    Close #3107
    
    I've prioritized testing the driver manager and added a minimal build,
    which we hope will catch musl-specific bugs like #3105.
---
 .github/workflows/nightly-verify.yml |  6 ++++++
 ci/docker/cpp-musl.alpine.dockerfile | 30 ++++++++++++++++++++++++++++++
 compose.yaml                         | 17 +++++++++++++++++
 3 files changed, 53 insertions(+)

diff --git a/.github/workflows/nightly-verify.yml 
b/.github/workflows/nightly-verify.yml
index efca3c5e5..38915a54e 100644
--- a/.github/workflows/nightly-verify.yml
+++ b/.github/workflows/nightly-verify.yml
@@ -25,6 +25,7 @@ on:
       - ".github/workflows/nightly-verify.yml"
       - "ci/docker/cpp-clang-latest.dockerfile"
       - "ci/docker/cpp-gcc-latest.dockerfile"
+      - "ci/docker/cpp-musl.alpine.dockerfile"
       - "dev/release/verify-release-candidate.sh"
       - "dev/release/verify-release-candidate.ps1"
   schedule:
@@ -230,6 +231,11 @@ jobs:
           pushd arrow-adbc
           docker compose run --rm cpp-static-test
 
+      - name: cpp-musl
+        run: |
+          pushd arrow-adbc
+          docker compose run --rm cpp-musl
+
       - name: python-debug
         run: |
           # Need to set this or ASAN inside the container gets stuck
diff --git a/ci/docker/cpp-musl.alpine.dockerfile 
b/ci/docker/cpp-musl.alpine.dockerfile
new file mode 100644
index 000000000..58a80341f
--- /dev/null
+++ b/ci/docker/cpp-musl.alpine.dockerfile
@@ -0,0 +1,30 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+FROM alpine:3
+
+RUN apk add --no-cache \
+    build-base \
+    cmake \
+    ninja \
+    bash \
+    git \
+    ca-certificates \
+    musl-dev \
+    libstdc++ \
+    linux-headers \
+    sqlite-dev
diff --git a/compose.yaml b/compose.yaml
index 1f8388b25..92e9af5ab 100644
--- a/compose.yaml
+++ b/compose.yaml
@@ -73,6 +73,23 @@ services:
     command: "bash -c 'git config --global --add safe.directory /adbc && 
/adbc/ci/scripts/cpp_static_test.sh /adbc /adbc/build/static-test/build 
/adbc/build/static-test/local'"
 
 
+  ############################### C/C++: musl (Alpine) 
##########################
+
+  cpp-musl:
+    image: ${REPO}:${ARCH}-cpp-musl-adbc
+    build:
+      context: .
+      dockerfile: ci/docker/cpp-musl.alpine.dockerfile
+    volumes:
+      - .:/adbc:delegated
+    environment:
+      ADBC_CMAKE_ARGS: "-DADBC_BUILD_WARNING_LEVEL=CHECKIN -DSIZEOF_TIME_T=8"
+      ADBC_USE_ASAN: "0"
+      ADBC_USE_UBSAN: "0"
+    command: "bash -c 'git config --global --add safe.directory /adbc && \
+      env ADBC_USE_ASAN=0 ADBC_USE_UBSAN=0 BUILD_ALL=0 BUILD_DRIVER_MANAGER=1 
BUILD_DRIVER_POSTGRESQL=0 BUILD_DRIVER_SQLITE=1 BUILD_DRIVER_FLIGHTSQL=0 
BUILD_DRIVER_SNOWFLAKE=0 BUILD_DRIVER_BIGQUERY=0 /adbc/ci/scripts/cpp_build.sh 
/adbc /adbc/build/musl && \
+      env ADBC_USE_ASAN=0 ADBC_USE_UBSAN=0 BUILD_ALL=0 BUILD_DRIVER_MANAGER=0 
BUILD_DRIVER_POSTGRESQL=0 BUILD_DRIVER_SQLITE=1 BUILD_DRIVER_FLIGHTSQL=0 
BUILD_DRIVER_SNOWFLAKE=0 BUILD_DRIVER_BIGQUERY=0 /adbc/ci/scripts/cpp_test.sh 
/adbc/build/musl'"
+
   ############################ Documentation 
###################################
 
   docs:

Reply via email to