@@ -107,6 +107,16 @@ jobs:
107107 - image : alpine-linux-cpp
108108 runs-on : ubuntu-latest
109109 title : AMD64 Alpine Linux
110+ - image : ubuntu-cpp
111+ run-options : >-
112+ -e ARROW_CTEST_TIMEOUT=2000
113+ -e ARROW_C_FLAGS_DEBUG="-O1"
114+ -e ARROW_CXX_FLAGS_DEBUG="-O1"
115+ -e ARROW_GANDIVA=OFF
116+ -e ARROW_LARGE_MEMORY_TESTS=ON
117+ -e BUILD_WARNING_LEVEL=PRODUCTION
118+ runs-on : " runs-on=${{ github.run_id }}/family=x8i.2xlarge/volume=80gb/spot=capacity-optimized"
119+ title : AMD64 Ubuntu Large Memory Tests
110120 - image : conda-cpp
111121 run-options : >-
112122 -e ARROW_USE_MESON=ON
@@ -336,6 +346,62 @@ jobs:
336346 cd cpp/examples/minimal_build
337347 ../minimal_build.build/arrow-example
338348
349+ odbc-linux :
350+ needs : check-labels
351+ name : ODBC Linux
352+ runs-on : ubuntu-latest
353+ if : >-
354+ needs.check-labels.outputs.force == 'true' ||
355+ contains(fromJSON(needs.check-labels.outputs.ci-extra-labels || '[]'), 'CI: Extra') ||
356+ contains(fromJSON(needs.check-labels.outputs.ci-extra-labels || '[]'), 'CI: Extra: C++')
357+ timeout-minutes : 75
358+ strategy :
359+ fail-fast : false
360+ env :
361+ ARCH : amd64
362+ ARCHERY_DEBUG : 1
363+ ARROW_ENABLE_TIMING_TESTS : OFF
364+ DOCKER_VOLUME_PREFIX : " .docker/"
365+ UBUNTU : 24.04
366+ steps :
367+ - name : Checkout Arrow
368+ uses : actions/checkout@v6
369+ with :
370+ fetch-depth : 0
371+ submodules : recursive
372+ - name : Cache Docker Volumes
373+ uses : actions/cache@v5
374+ with :
375+ path : .docker
376+ key : ubuntu-cpp-odbc-${{ hashFiles('cpp/**') }}
377+ restore-keys : ubuntu-cpp-odbc-
378+ - name : Setup Python on hosted runner
379+ uses : actions/setup-python@v6
380+ with :
381+ python-version : 3
382+ - name : Setup Archery
383+ run : python3 -m pip install -e dev/archery[docker]
384+ - name : Execute Docker Build
385+ env :
386+ ARCHERY_DOCKER_USER : ${{ secrets.DOCKERHUB_USER }}
387+ ARCHERY_DOCKER_PASSWORD : ${{ secrets.DOCKERHUB_TOKEN }}
388+ run : |
389+ # GH-40558: reduce ASLR to avoid ASAN/LSAN crashes
390+ sudo sysctl -w vm.mmap_rnd_bits=28
391+ source ci/scripts/util_enable_core_dumps.sh
392+ archery docker run ubuntu-cpp-odbc
393+ - name : Docker Push
394+ if : >-
395+ success() &&
396+ github.event_name == 'push' &&
397+ github.repository == 'apache/arrow' &&
398+ github.ref_name == 'main'
399+ env :
400+ ARCHERY_DOCKER_USER : ${{ secrets.DOCKERHUB_USER }}
401+ ARCHERY_DOCKER_PASSWORD : ${{ secrets.DOCKERHUB_TOKEN }}
402+ continue-on-error : true
403+ run : archery docker push ubuntu-cpp-odbc
404+
339405 odbc-macos :
340406 needs : check-labels
341407 name : ODBC ${{ matrix.build-type }} ${{ matrix.architecture }} macOS ${{ matrix.macos-version }}
@@ -435,7 +501,7 @@ jobs:
435501 "$(pwd)/build/cpp/${{ matrix.build-type }}/libarrow_flight_sql_odbc.dylib"
436502 - name : Register Flight SQL ODBC Driver
437503 run : |
438- sudo cpp/src/arrow/flight/sql/odbc/install/mac /install_odbc.sh $(pwd)/build/cpp/${{ matrix.build-type }}/libarrow_flight_sql_odbc.dylib
504+ sudo cpp/src/arrow/flight/sql/odbc/install/unix /install_odbc.sh $(pwd)/build/cpp/${{ matrix.build-type }}/libarrow_flight_sql_odbc.dylib
439505 - name : Test
440506 shell : bash
441507 run : |
@@ -698,6 +764,7 @@ jobs:
698764 - jni-linux
699765 - jni-macos
700766 - msvc-arm64
767+ - odbc-linux
701768 - odbc-macos
702769 - odbc-msvc
703770 - odbc-nightly
0 commit comments