kou commented on PR #37821:
URL: https://github.com/apache/arrow/pull/37821#issuecomment-1750015198

   Could you apply the following changes to add a test for this case? (Or can I 
push it?)
   
   ```diff
   diff --git a/ci/docker/ubuntu-22.04-cpp.dockerfile 
b/ci/docker/ubuntu-22.04-cpp.dockerfile
   index fffafe2b0..bf8f370be 100644
   --- a/ci/docker/ubuntu-22.04-cpp.dockerfile
   +++ b/ci/docker/ubuntu-22.04-cpp.dockerfile
   @@ -69,6 +69,7 @@ RUN apt-get update -y -q && \
            ccache \
            cmake \
            curl \
   +        emscripten \
            gdb \
            git \
            libbenchmark-dev \
   @@ -149,6 +150,10 @@ RUN if [ "${gcc_version}" = "" ]; then \
          update-alternatives --set c++ /usr/bin/g++; \
        fi
    
   +RUN EM_CACHE=/usr/share/emscripten/cache \
   +    EM_FROZEN_CACHE= \
   +      embuilder --pic build zlib
   +
    COPY ci/scripts/install_minio.sh /arrow/ci/scripts/
    RUN /arrow/ci/scripts/install_minio.sh latest /usr/local
    
   diff --git a/ci/scripts/cpp_build.sh b/ci/scripts/cpp_build.sh
   index 1f5596e2a..8e13b0590 100755
   --- a/ci/scripts/cpp_build.sh
   +++ b/ci/scripts/cpp_build.sh
   @@ -81,111 +81,125 @@ esac
    mkdir -p ${build_dir}
    pushd ${build_dir}
    
   -cmake \
   -  -Dabsl_SOURCE=${absl_SOURCE:-} \
   -  -DARROW_ACERO=${ARROW_ACERO:-OFF} \
   -  -DARROW_AZURE=${ARROW_AZURE:-OFF} \
   -  -DARROW_BOOST_USE_SHARED=${ARROW_BOOST_USE_SHARED:-ON} \
   -  -DARROW_BUILD_BENCHMARKS_REFERENCE=${ARROW_BUILD_BENCHMARKS:-OFF} \
   -  -DARROW_BUILD_BENCHMARKS=${ARROW_BUILD_BENCHMARKS:-OFF} \
   -  -DARROW_BUILD_EXAMPLES=${ARROW_BUILD_EXAMPLES:-OFF} \
   -  -DARROW_BUILD_INTEGRATION=${ARROW_BUILD_INTEGRATION:-OFF} \
   -  -DARROW_BUILD_SHARED=${ARROW_BUILD_SHARED:-ON} \
   -  -DARROW_BUILD_STATIC=${ARROW_BUILD_STATIC:-ON} \
   -  -DARROW_BUILD_TESTS=${ARROW_BUILD_TESTS:-OFF} \
   -  -DARROW_BUILD_UTILITIES=${ARROW_BUILD_UTILITIES:-ON} \
   -  -DARROW_COMPUTE=${ARROW_COMPUTE:-ON} \
   -  -DARROW_CSV=${ARROW_CSV:-ON} \
   -  -DARROW_CUDA=${ARROW_CUDA:-OFF} \
   -  -DARROW_CXXFLAGS=${ARROW_CXXFLAGS:-} \
   -  -DARROW_CXX_FLAGS_DEBUG="${ARROW_CXX_FLAGS_DEBUG:-}" \
   -  -DARROW_CXX_FLAGS_RELEASE="${ARROW_CXX_FLAGS_RELEASE:-}" \
   -  -DARROW_CXX_FLAGS_RELWITHDEBINFO="${ARROW_CXX_FLAGS_RELWITHDEBINFO:-}" \
   -  -DARROW_C_FLAGS_DEBUG="${ARROW_C_FLAGS_DEBUG:-}" \
   -  -DARROW_C_FLAGS_RELEASE="${ARROW_C_FLAGS_RELEASE:-}" \
   -  -DARROW_C_FLAGS_RELWITHDEBINFO="${ARROW_C_FLAGS_RELWITHDEBINFO:-}" \
   -  -DARROW_DATASET=${ARROW_DATASET:-OFF} \
   -  -DARROW_DEPENDENCY_SOURCE=${ARROW_DEPENDENCY_SOURCE:-AUTO} \
   -  -DARROW_ENABLE_THREADING=${ARROW_ENABLE_THREADING:-ON} \
   -  -DARROW_ENABLE_TIMING_TESTS=${ARROW_ENABLE_TIMING_TESTS:-ON} \
   -  -DARROW_EXTRA_ERROR_CONTEXT=${ARROW_EXTRA_ERROR_CONTEXT:-OFF} \
   -  -DARROW_FILESYSTEM=${ARROW_FILESYSTEM:-ON} \
   -  -DARROW_FLIGHT=${ARROW_FLIGHT:-OFF} \
   -  -DARROW_FLIGHT_SQL=${ARROW_FLIGHT_SQL:-OFF} \
   -  -DARROW_FUZZING=${ARROW_FUZZING:-OFF} \
   -  -DARROW_GANDIVA_PC_CXX_FLAGS=${ARROW_GANDIVA_PC_CXX_FLAGS:-} \
   -  -DARROW_GANDIVA=${ARROW_GANDIVA:-OFF} \
   -  -DARROW_GCS=${ARROW_GCS:-OFF} \
   -  -DARROW_HDFS=${ARROW_HDFS:-ON} \
   -  -DARROW_INSTALL_NAME_RPATH=${ARROW_INSTALL_NAME_RPATH:-ON} \
   -  -DARROW_JEMALLOC=${ARROW_JEMALLOC:-ON} \
   -  -DARROW_JSON=${ARROW_JSON:-ON} \
   -  -DARROW_LARGE_MEMORY_TESTS=${ARROW_LARGE_MEMORY_TESTS:-OFF} \
   -  -DARROW_MIMALLOC=${ARROW_MIMALLOC:-OFF} \
   -  -DARROW_NO_DEPRECATED_API=${ARROW_NO_DEPRECATED_API:-OFF} \
   -  -DARROW_ORC=${ARROW_ORC:-OFF} \
   -  -DARROW_PARQUET=${ARROW_PARQUET:-OFF} \
   -  -DARROW_RUNTIME_SIMD_LEVEL=${ARROW_RUNTIME_SIMD_LEVEL:-MAX} \
   -  -DARROW_S3=${ARROW_S3:-OFF} \
   -  -DARROW_SIMD_LEVEL=${ARROW_SIMD_LEVEL:-DEFAULT} \
   -  -DARROW_SKYHOOK=${ARROW_SKYHOOK:-OFF} \
   -  -DARROW_SUBSTRAIT=${ARROW_SUBSTRAIT:-OFF} \
   -  -DARROW_TEST_LINKAGE=${ARROW_TEST_LINKAGE:-shared} \
   -  -DARROW_TEST_MEMCHECK=${ARROW_TEST_MEMCHECK:-OFF} \
   -  -DARROW_USE_ASAN=${ARROW_USE_ASAN:-OFF} \
   -  -DARROW_USE_CCACHE=${ARROW_USE_CCACHE:-ON} \
   -  -DARROW_USE_GLOG=${ARROW_USE_GLOG:-OFF} \
   -  -DARROW_USE_LD_GOLD=${ARROW_USE_LD_GOLD:-OFF} \
   -  -DARROW_USE_PRECOMPILED_HEADERS=${ARROW_USE_PRECOMPILED_HEADERS:-OFF} \
   -  -DARROW_USE_STATIC_CRT=${ARROW_USE_STATIC_CRT:-OFF} \
   -  -DARROW_USE_TSAN=${ARROW_USE_TSAN:-OFF} \
   -  -DARROW_USE_UBSAN=${ARROW_USE_UBSAN:-OFF} \
   -  -DARROW_VERBOSE_THIRDPARTY_BUILD=${ARROW_VERBOSE_THIRDPARTY_BUILD:-OFF} \
   -  -DARROW_WITH_BROTLI=${ARROW_WITH_BROTLI:-OFF} \
   -  -DARROW_WITH_BZ2=${ARROW_WITH_BZ2:-OFF} \
   -  -DARROW_WITH_LZ4=${ARROW_WITH_LZ4:-OFF} \
   -  -DARROW_WITH_OPENTELEMETRY=${ARROW_WITH_OPENTELEMETRY:-OFF} \
   -  -DARROW_WITH_MUSL=${ARROW_WITH_MUSL:-OFF} \
   -  -DARROW_WITH_SNAPPY=${ARROW_WITH_SNAPPY:-OFF} \
   -  -DARROW_WITH_UCX=${ARROW_WITH_UCX:-OFF} \
   -  -DARROW_WITH_UTF8PROC=${ARROW_WITH_UTF8PROC:-ON} \
   -  -DARROW_WITH_ZLIB=${ARROW_WITH_ZLIB:-OFF} \
   -  -DARROW_WITH_ZSTD=${ARROW_WITH_ZSTD:-OFF} \
   -  -DAWSSDK_SOURCE=${AWSSDK_SOURCE:-} \
   -  -DAzure_SOURCE=${Azure_SOURCE:-} \
   -  -Dbenchmark_SOURCE=${benchmark_SOURCE:-} \
   -  -DBOOST_SOURCE=${BOOST_SOURCE:-} \
   -  -DBrotli_SOURCE=${Brotli_SOURCE:-} \
   -  -DBUILD_WARNING_LEVEL=${BUILD_WARNING_LEVEL:-CHECKIN} \
   -  -Dc-ares_SOURCE=${cares_SOURCE:-} \
   -  -DCMAKE_BUILD_TYPE=${ARROW_BUILD_TYPE:-debug} \
   -  -DCMAKE_VERBOSE_MAKEFILE=${CMAKE_VERBOSE_MAKEFILE:-OFF} \
   -  -DCMAKE_C_FLAGS="${CFLAGS:-}" \
   -  -DCMAKE_CXX_FLAGS="${CXXFLAGS:-}" \
   -  -DCMAKE_CXX_STANDARD="${CMAKE_CXX_STANDARD:-17}" \
   -  -DCMAKE_INSTALL_LIBDIR=${CMAKE_INSTALL_LIBDIR:-lib} \
   -  -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX:-${ARROW_HOME}} \
   -  -DCMAKE_UNITY_BUILD=${CMAKE_UNITY_BUILD:-OFF} \
   -  -Dgflags_SOURCE=${gflags_SOURCE:-} \
   -  -Dgoogle_cloud_cpp_storage_SOURCE=${google_cloud_cpp_storage_SOURCE:-} \
   -  -DgRPC_SOURCE=${gRPC_SOURCE:-} \
   -  -DGTest_SOURCE=${GTest_SOURCE:-} \
   -  -Dlz4_SOURCE=${lz4_SOURCE:-} \
   -  -DORC_SOURCE=${ORC_SOURCE:-} \
   -  -DPARQUET_BUILD_EXAMPLES=${PARQUET_BUILD_EXAMPLES:-OFF} \
   -  -DPARQUET_BUILD_EXECUTABLES=${PARQUET_BUILD_EXECUTABLES:-OFF} \
   -  -DPARQUET_REQUIRE_ENCRYPTION=${PARQUET_REQUIRE_ENCRYPTION:-ON} \
   -  -DProtobuf_SOURCE=${Protobuf_SOURCE:-} \
   -  -DRapidJSON_SOURCE=${RapidJSON_SOURCE:-} \
   -  -Dre2_SOURCE=${re2_SOURCE:-} \
   -  -DSnappy_SOURCE=${Snappy_SOURCE:-} \
   -  -DThrift_SOURCE=${Thrift_SOURCE:-} \
   -  -Dutf8proc_SOURCE=${utf8proc_SOURCE:-} \
   -  -Dzstd_SOURCE=${zstd_SOURCE:-} \
   -  -Dxsimd_SOURCE=${xsimd_SOURCE:-} \
   -  -G "${CMAKE_GENERATOR:-Ninja}" \
   -  ${ARROW_CMAKE_ARGS} \
   -  ${source_dir}
   +if [ "${ARROW_EMSCRIPTEN:-OFF}" = "ON" ]; then
   +  emcmake cmake \
   +    --preset=ninja-${ARROW_BUILD_TYPE:-debug}-emscripten \
   +    -DCMAKE_VERBOSE_MAKEFILE=${CMAKE_VERBOSE_MAKEFILE:-OFF} \
   +    -DCMAKE_C_FLAGS="${CFLAGS:-}" \
   +    -DCMAKE_CXX_FLAGS="${CXXFLAGS:-}" \
   +    -DCMAKE_CXX_STANDARD="${CMAKE_CXX_STANDARD:-17}" \
   +    -DCMAKE_INSTALL_LIBDIR=${CMAKE_INSTALL_LIBDIR:-lib} \
   +    -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX:-${ARROW_HOME}} \
   +    -DCMAKE_UNITY_BUILD=${CMAKE_UNITY_BUILD:-OFF} \
   +    ${ARROW_CMAKE_ARGS} \
   +    ${source_dir}
   +else
   +  cmake \
   +    -Dabsl_SOURCE=${absl_SOURCE:-} \
   +    -DARROW_ACERO=${ARROW_ACERO:-OFF} \
   +    -DARROW_AZURE=${ARROW_AZURE:-OFF} \
   +    -DARROW_BOOST_USE_SHARED=${ARROW_BOOST_USE_SHARED:-ON} \
   +    -DARROW_BUILD_BENCHMARKS_REFERENCE=${ARROW_BUILD_BENCHMARKS:-OFF} \
   +    -DARROW_BUILD_BENCHMARKS=${ARROW_BUILD_BENCHMARKS:-OFF} \
   +    -DARROW_BUILD_EXAMPLES=${ARROW_BUILD_EXAMPLES:-OFF} \
   +    -DARROW_BUILD_INTEGRATION=${ARROW_BUILD_INTEGRATION:-OFF} \
   +    -DARROW_BUILD_SHARED=${ARROW_BUILD_SHARED:-ON} \
   +    -DARROW_BUILD_STATIC=${ARROW_BUILD_STATIC:-ON} \
   +    -DARROW_BUILD_TESTS=${ARROW_BUILD_TESTS:-OFF} \
   +    -DARROW_BUILD_UTILITIES=${ARROW_BUILD_UTILITIES:-ON} \
   +    -DARROW_COMPUTE=${ARROW_COMPUTE:-ON} \
   +    -DARROW_CSV=${ARROW_CSV:-ON} \
   +    -DARROW_CUDA=${ARROW_CUDA:-OFF} \
   +    -DARROW_CXXFLAGS=${ARROW_CXXFLAGS:-} \
   +    -DARROW_CXX_FLAGS_DEBUG="${ARROW_CXX_FLAGS_DEBUG:-}" \
   +    -DARROW_CXX_FLAGS_RELEASE="${ARROW_CXX_FLAGS_RELEASE:-}" \
   +    -DARROW_CXX_FLAGS_RELWITHDEBINFO="${ARROW_CXX_FLAGS_RELWITHDEBINFO:-}" \
   +    -DARROW_C_FLAGS_DEBUG="${ARROW_C_FLAGS_DEBUG:-}" \
   +    -DARROW_C_FLAGS_RELEASE="${ARROW_C_FLAGS_RELEASE:-}" \
   +    -DARROW_C_FLAGS_RELWITHDEBINFO="${ARROW_C_FLAGS_RELWITHDEBINFO:-}" \
   +    -DARROW_DATASET=${ARROW_DATASET:-OFF} \
   +    -DARROW_DEPENDENCY_SOURCE=${ARROW_DEPENDENCY_SOURCE:-AUTO} \
   +    -DARROW_ENABLE_THREADING=${ARROW_ENABLE_THREADING:-ON} \
   +    -DARROW_ENABLE_TIMING_TESTS=${ARROW_ENABLE_TIMING_TESTS:-ON} \
   +    -DARROW_EXTRA_ERROR_CONTEXT=${ARROW_EXTRA_ERROR_CONTEXT:-OFF} \
   +    -DARROW_FILESYSTEM=${ARROW_FILESYSTEM:-ON} \
   +    -DARROW_FLIGHT=${ARROW_FLIGHT:-OFF} \
   +    -DARROW_FLIGHT_SQL=${ARROW_FLIGHT_SQL:-OFF} \
   +    -DARROW_FUZZING=${ARROW_FUZZING:-OFF} \
   +    -DARROW_GANDIVA_PC_CXX_FLAGS=${ARROW_GANDIVA_PC_CXX_FLAGS:-} \
   +    -DARROW_GANDIVA=${ARROW_GANDIVA:-OFF} \
   +    -DARROW_GCS=${ARROW_GCS:-OFF} \
   +    -DARROW_HDFS=${ARROW_HDFS:-ON} \
   +    -DARROW_INSTALL_NAME_RPATH=${ARROW_INSTALL_NAME_RPATH:-ON} \
   +    -DARROW_JEMALLOC=${ARROW_JEMALLOC:-ON} \
   +    -DARROW_JSON=${ARROW_JSON:-ON} \
   +    -DARROW_LARGE_MEMORY_TESTS=${ARROW_LARGE_MEMORY_TESTS:-OFF} \
   +    -DARROW_MIMALLOC=${ARROW_MIMALLOC:-OFF} \
   +    -DARROW_NO_DEPRECATED_API=${ARROW_NO_DEPRECATED_API:-OFF} \
   +    -DARROW_ORC=${ARROW_ORC:-OFF} \
   +    -DARROW_PARQUET=${ARROW_PARQUET:-OFF} \
   +    -DARROW_RUNTIME_SIMD_LEVEL=${ARROW_RUNTIME_SIMD_LEVEL:-MAX} \
   +    -DARROW_S3=${ARROW_S3:-OFF} \
   +    -DARROW_SIMD_LEVEL=${ARROW_SIMD_LEVEL:-DEFAULT} \
   +    -DARROW_SKYHOOK=${ARROW_SKYHOOK:-OFF} \
   +    -DARROW_SUBSTRAIT=${ARROW_SUBSTRAIT:-OFF} \
   +    -DARROW_TEST_LINKAGE=${ARROW_TEST_LINKAGE:-shared} \
   +    -DARROW_TEST_MEMCHECK=${ARROW_TEST_MEMCHECK:-OFF} \
   +    -DARROW_USE_ASAN=${ARROW_USE_ASAN:-OFF} \
   +    -DARROW_USE_CCACHE=${ARROW_USE_CCACHE:-ON} \
   +    -DARROW_USE_GLOG=${ARROW_USE_GLOG:-OFF} \
   +    -DARROW_USE_LD_GOLD=${ARROW_USE_LD_GOLD:-OFF} \
   +    -DARROW_USE_PRECOMPILED_HEADERS=${ARROW_USE_PRECOMPILED_HEADERS:-OFF} \
   +    -DARROW_USE_STATIC_CRT=${ARROW_USE_STATIC_CRT:-OFF} \
   +    -DARROW_USE_TSAN=${ARROW_USE_TSAN:-OFF} \
   +    -DARROW_USE_UBSAN=${ARROW_USE_UBSAN:-OFF} \
   +    -DARROW_VERBOSE_THIRDPARTY_BUILD=${ARROW_VERBOSE_THIRDPARTY_BUILD:-OFF} 
\
   +    -DARROW_WITH_BROTLI=${ARROW_WITH_BROTLI:-OFF} \
   +    -DARROW_WITH_BZ2=${ARROW_WITH_BZ2:-OFF} \
   +    -DARROW_WITH_LZ4=${ARROW_WITH_LZ4:-OFF} \
   +    -DARROW_WITH_OPENTELEMETRY=${ARROW_WITH_OPENTELEMETRY:-OFF} \
   +    -DARROW_WITH_MUSL=${ARROW_WITH_MUSL:-OFF} \
   +    -DARROW_WITH_SNAPPY=${ARROW_WITH_SNAPPY:-OFF} \
   +    -DARROW_WITH_UCX=${ARROW_WITH_UCX:-OFF} \
   +    -DARROW_WITH_UTF8PROC=${ARROW_WITH_UTF8PROC:-ON} \
   +    -DARROW_WITH_ZLIB=${ARROW_WITH_ZLIB:-OFF} \
   +    -DARROW_WITH_ZSTD=${ARROW_WITH_ZSTD:-OFF} \
   +    -DAWSSDK_SOURCE=${AWSSDK_SOURCE:-} \
   +    -DAzure_SOURCE=${Azure_SOURCE:-} \
   +    -Dbenchmark_SOURCE=${benchmark_SOURCE:-} \
   +    -DBOOST_SOURCE=${BOOST_SOURCE:-} \
   +    -DBrotli_SOURCE=${Brotli_SOURCE:-} \
   +    -DBUILD_WARNING_LEVEL=${BUILD_WARNING_LEVEL:-CHECKIN} \
   +    -Dc-ares_SOURCE=${cares_SOURCE:-} \
   +    -DCMAKE_BUILD_TYPE=${ARROW_BUILD_TYPE:-debug} \
   +    -DCMAKE_VERBOSE_MAKEFILE=${CMAKE_VERBOSE_MAKEFILE:-OFF} \
   +    -DCMAKE_C_FLAGS="${CFLAGS:-}" \
   +    -DCMAKE_CXX_FLAGS="${CXXFLAGS:-}" \
   +    -DCMAKE_CXX_STANDARD="${CMAKE_CXX_STANDARD:-17}" \
   +    -DCMAKE_INSTALL_LIBDIR=${CMAKE_INSTALL_LIBDIR:-lib} \
   +    -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX:-${ARROW_HOME}} \
   +    -DCMAKE_UNITY_BUILD=${CMAKE_UNITY_BUILD:-OFF} \
   +    -Dgflags_SOURCE=${gflags_SOURCE:-} \
   +    -Dgoogle_cloud_cpp_storage_SOURCE=${google_cloud_cpp_storage_SOURCE:-} \
   +    -DgRPC_SOURCE=${gRPC_SOURCE:-} \
   +    -DGTest_SOURCE=${GTest_SOURCE:-} \
   +    -Dlz4_SOURCE=${lz4_SOURCE:-} \
   +    -DORC_SOURCE=${ORC_SOURCE:-} \
   +    -DPARQUET_BUILD_EXAMPLES=${PARQUET_BUILD_EXAMPLES:-OFF} \
   +    -DPARQUET_BUILD_EXECUTABLES=${PARQUET_BUILD_EXECUTABLES:-OFF} \
   +    -DPARQUET_REQUIRE_ENCRYPTION=${PARQUET_REQUIRE_ENCRYPTION:-ON} \
   +    -DProtobuf_SOURCE=${Protobuf_SOURCE:-} \
   +    -DRapidJSON_SOURCE=${RapidJSON_SOURCE:-} \
   +    -Dre2_SOURCE=${re2_SOURCE:-} \
   +    -DSnappy_SOURCE=${Snappy_SOURCE:-} \
   +    -DThrift_SOURCE=${Thrift_SOURCE:-} \
   +    -Dutf8proc_SOURCE=${utf8proc_SOURCE:-} \
   +    -Dzstd_SOURCE=${zstd_SOURCE:-} \
   +    -Dxsimd_SOURCE=${xsimd_SOURCE:-} \
   +    -G "${CMAKE_GENERATOR:-Ninja}" \
   +    ${ARROW_CMAKE_ARGS} \
   +    ${source_dir}
   +fi
    
    export CMAKE_BUILD_PARALLEL_LEVEL=${CMAKE_BUILD_PARALLEL_LEVEL:-$[${n_jobs} 
+ 1]}
    time cmake --build . --target install
   diff --git a/dev/tasks/tasks.yml b/dev/tasks/tasks.yml
   index 859ff8ddb..b8b0d9ed2 100644
   --- a/dev/tasks/tasks.yml
   +++ b/dev/tasks/tasks.yml
   @@ -1255,6 +1255,14 @@ tasks:
          flags: "-e ARROW_CSV=ON -e ARROW_PARQUET=ON"
          image: ubuntu-cpp-minimal
    
   +  test-ubuntu-22.04-cpp-emscripten:
   +    ci: github
   +    template: docker-tests/github.linux.yml
   +    params:
   +      env:
   +        UBUNTU: 22.04
   +      image: ubuntu-cpp-emscripten
   +
    {% for python_version in ["3.8", "3.9", "3.10", "3.11"] %}
      test-conda-python-{{ python_version }}:
        ci: github
   diff --git a/docker-compose.yml b/docker-compose.yml
   index 62e5aee0a..ea3b19281 100644
   --- a/docker-compose.yml
   +++ b/docker-compose.yml
   @@ -158,6 +158,7 @@ x-hierarchy:
      - ubuntu-csharp
      - ubuntu-cpp-sanitizer
      - ubuntu-cpp-thread-sanitizer
   +  - ubuntu-cpp-emscripten
      - ubuntu-r-sanitizer
      - ubuntu-r-valgrind
      - ubuntu-swift
   @@ -649,6 +650,30 @@ services:
          ARROW_USE_TSAN: "ON"
        command: *cpp-command
    
   +  ubuntu-cpp-emscripten:
   +    # Usage:
   +    #   docker-compose build ubuntu-cpp-emscripten
   +    #   docker-compose run --rm ubuntu-cpp-emscripten
   +    # Parameters:
   +    #   ARCH: amd64, arm64v8, ...
   +    #   UBUNTU: 22.04
   +    image: ${REPO}:${ARCH}-ubuntu-${UBUNTU}-cpp
   +    build:
   +      context: .
   +      dockerfile: ci/docker/ubuntu-${UBUNTU}-cpp.dockerfile
   +      cache_from:
   +        - ${REPO}:${ARCH}-ubuntu-${UBUNTU}-cpp
   +      args:
   +        arch: ${ARCH}
   +        clang_tools: ${CLANG_TOOLS}
   +        llvm: ${LLVM}
   +    shm_size: *shm-size
   +    volumes: *ubuntu-volumes
   +    environment:
   +      <<: [*common, *ccache, *sccache, *cpp]
   +      ARROW_EMSCRIPTEN: "ON"
   +    command: *cpp-command
   +
      fedora-cpp:
        # Usage:
        #   docker-compose build fedora-cpp
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to