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

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


The following commit(s) were added to refs/heads/main by this push:
     new a273e69dfd6 GH-51254: [C++][CI] Move ubuntu-cpp-bundled-offline to C++ 
Extra (#51255)
a273e69dfd6 is described below

commit a273e69dfd66ad8fe9416aad790ec9b2adb384d7
Author: Antoine Pitrou <[email protected]>
AuthorDate: Thu Sep 10 09:00:28 2026 +0200

    GH-51254: [C++][CI] Move ubuntu-cpp-bundled-offline to C++ Extra (#51255)
    
    ### Rationale for this change
    
    The `test-ubuntu-24.04-cpp-bundled-offline` Crossbow job usually takes one 
hour to complete:
    
https://github.com/ursacomputing/crossbow/actions/runs/34175056969/job/101902703505
    
    This is because, despite sccache being configured, the S3-stored 
compilation cache is unavailable because the network is shut off during 
compilation. And the job compiles all dependencies from scratch.
    
    ### What changes are included in this PR?
    
    Move the CI job to the C++ Extra workflow, so as to take advantage of 
ccache-based compilation caching using `apache/infrastructure-actions/stash`.
    
    ### Are these changes tested?
    
    By definition, yes.
    
    ### Are there any user-facing changes?
    
    No.
    * GitHub Issue: #51254
    
    Authored-by: Antoine Pitrou <[email protected]>
    Signed-off-by: Sutou Kouhei <[email protected]>
---
 .github/workflows/cpp_extra.yml               | 5 +++++
 ci/docker/alpine-linux-3.22-cpp.dockerfile    | 1 -
 ci/docker/debian-13-cpp.dockerfile            | 1 -
 ci/docker/debian-experimental-cpp.dockerfile  | 1 -
 ci/docker/fedora-42-cpp.dockerfile            | 1 -
 ci/docker/ubuntu-22.04-cpp-minimal.dockerfile | 1 -
 ci/docker/ubuntu-22.04-cpp.dockerfile         | 1 -
 ci/docker/ubuntu-24.04-cpp-minimal.dockerfile | 1 -
 ci/docker/ubuntu-24.04-cpp.dockerfile         | 1 -
 compose.yaml                                  | 1 -
 cpp/CMakeLists.txt                            | 3 +++
 cpp/thirdparty/download_dependencies.sh       | 2 ++
 dev/tasks/tasks.yml                           | 9 ---------
 13 files changed, 10 insertions(+), 18 deletions(-)

diff --git a/.github/workflows/cpp_extra.yml b/.github/workflows/cpp_extra.yml
index 536dc5a3a82..5236ea63573 100644
--- a/.github/workflows/cpp_extra.yml
+++ b/.github/workflows/cpp_extra.yml
@@ -113,6 +113,11 @@ jobs:
               -e BUILD_WARNING_LEVEL=PRODUCTION
             runs-on: "runs-on=${{ github.run_id 
}}/family=x8i.2xlarge/volume=80gb/spot=capacity-optimized"
             title: AMD64 Ubuntu Large Memory Tests
+          - image: ubuntu-cpp-bundled-offline
+            runs-on: ubuntu-latest
+            envs:
+              - UBUNTU=24.04
+            title: AMD64 Ubuntu Bundled Offline
           - image: conda-cpp
             run-options: >-
               -e ARROW_USE_MESON=ON
diff --git a/ci/docker/alpine-linux-3.22-cpp.dockerfile 
b/ci/docker/alpine-linux-3.22-cpp.dockerfile
index 766e02e24cb..edf2481ef34 100644
--- a/ci/docker/alpine-linux-3.22-cpp.dockerfile
+++ b/ci/docker/alpine-linux-3.22-cpp.dockerfile
@@ -104,7 +104,6 @@ ENV ARROW_ACERO=ON \
     AWSSDK_SOURCE=BUNDLED \
     google_cloud_cpp_storage_SOURCE=BUNDLED \
     MUSL_LOCPATH=/usr/share/i18n/locales/musl \
-    PATH=/usr/lib/ccache/bin:$PATH \
     # We can remove this once
     # https://gitlab.alpinelinux.org/alpine/aports/-/work_items/18353
     # is fixed.
diff --git a/ci/docker/debian-13-cpp.dockerfile 
b/ci/docker/debian-13-cpp.dockerfile
index ebda8f3847d..31ba7107635 100644
--- a/ci/docker/debian-13-cpp.dockerfile
+++ b/ci/docker/debian-13-cpp.dockerfile
@@ -137,7 +137,6 @@ ENV ARROW_ACERO=ON \
     Azure_SOURCE=BUNDLED \
     google_cloud_cpp_storage_SOURCE=BUNDLED \
     ORC_SOURCE=BUNDLED \
-    PATH=/usr/lib/ccache/:$PATH \
     PYTHON=python3 \
     simdjson_SOURCE=BUNDLED \
     xsimd_SOURCE=BUNDLED
diff --git a/ci/docker/debian-experimental-cpp.dockerfile 
b/ci/docker/debian-experimental-cpp.dockerfile
index 359ac700806..d658127063e 100644
--- a/ci/docker/debian-experimental-cpp.dockerfile
+++ b/ci/docker/debian-experimental-cpp.dockerfile
@@ -143,6 +143,5 @@ ENV ARROW_ACERO=ON \
     CXX=g++${gcc:+-${gcc}} \
     google_cloud_cpp_storage_SOURCE=BUNDLED \
     ORC_SOURCE=BUNDLED \
-    PATH=/usr/lib/ccache/:$PATH \
     PYTHON=python3 \
     xsimd_SOURCE=BUNDLED
diff --git a/ci/docker/fedora-42-cpp.dockerfile 
b/ci/docker/fedora-42-cpp.dockerfile
index f3bdda00a1b..ae49ad18dbb 100644
--- a/ci/docker/fedora-42-cpp.dockerfile
+++ b/ci/docker/fedora-42-cpp.dockerfile
@@ -109,7 +109,6 @@ ENV ARROW_ACERO=ON \
     opentelemetry_cpp_SOURCE=BUNDLED \
     PARQUET_BUILD_EXAMPLES=ON \
     PARQUET_BUILD_EXECUTABLES=ON \
-    PATH=/usr/lib/ccache/:$PATH \
     PYARROW_TEST_GANDIVA=OFF \
     simdjson_SOURCE=BUNDLED \
     xsimd_SOURCE=BUNDLED
diff --git a/ci/docker/ubuntu-22.04-cpp-minimal.dockerfile 
b/ci/docker/ubuntu-22.04-cpp-minimal.dockerfile
index e77675b8a84..e0f548cb6f8 100644
--- a/ci/docker/ubuntu-22.04-cpp-minimal.dockerfile
+++ b/ci/docker/ubuntu-22.04-cpp-minimal.dockerfile
@@ -108,5 +108,4 @@ ENV ARROW_ACERO=ON \
     CMAKE_GENERATOR="Unix Makefiles" \
     PARQUET_BUILD_EXAMPLES=ON \
     PARQUET_BUILD_EXECUTABLES=ON \
-    PATH=/usr/lib/ccache/:$PATH \
     PYTHON=python3
diff --git a/ci/docker/ubuntu-22.04-cpp.dockerfile 
b/ci/docker/ubuntu-22.04-cpp.dockerfile
index 54b671c7a57..64b2f8c1dda 100644
--- a/ci/docker/ubuntu-22.04-cpp.dockerfile
+++ b/ci/docker/ubuntu-22.04-cpp.dockerfile
@@ -225,7 +225,6 @@ ENV absl_SOURCE=BUNDLED \
     ORC_SOURCE=BUNDLED \
     PARQUET_BUILD_EXAMPLES=ON \
     PARQUET_BUILD_EXECUTABLES=ON \
-    PATH=/usr/lib/ccache/:$PATH \
     PYTHON=python3 \
     simdjson_SOURCE=BUNDLED \
     xsimd_SOURCE=BUNDLED
diff --git a/ci/docker/ubuntu-24.04-cpp-minimal.dockerfile 
b/ci/docker/ubuntu-24.04-cpp-minimal.dockerfile
index 4ba362f8266..3a79b28598e 100644
--- a/ci/docker/ubuntu-24.04-cpp-minimal.dockerfile
+++ b/ci/docker/ubuntu-24.04-cpp-minimal.dockerfile
@@ -105,5 +105,4 @@ ENV ARROW_ACERO=ON \
     CMAKE_GENERATOR="Unix Makefiles" \
     PARQUET_BUILD_EXAMPLES=ON \
     PARQUET_BUILD_EXECUTABLES=ON \
-    PATH=/usr/lib/ccache/:$PATH \
     PYTHON=python3
diff --git a/ci/docker/ubuntu-24.04-cpp.dockerfile 
b/ci/docker/ubuntu-24.04-cpp.dockerfile
index 00cc8796c54..9cdd3c562dc 100644
--- a/ci/docker/ubuntu-24.04-cpp.dockerfile
+++ b/ci/docker/ubuntu-24.04-cpp.dockerfile
@@ -219,7 +219,6 @@ ENV absl_SOURCE=BUNDLED \
     ORC_SOURCE=BUNDLED \
     PARQUET_BUILD_EXAMPLES=ON \
     PARQUET_BUILD_EXECUTABLES=ON \
-    PATH=/usr/lib/ccache/:$PATH \
     PYTHON=python3 \
     simdjson_SOURCE=BUNDLED \
     xsimd_SOURCE=BUNDLED
diff --git a/compose.yaml b/compose.yaml
index 5cf62a13aa2..04a8cf36fb2 100644
--- a/compose.yaml
+++ b/compose.yaml
@@ -514,7 +514,6 @@ services:
       ARROW_OFFLINE: ON
       # Apache ORC always uses external orc-format.
       ARROW_ORC: OFF
-      CMAKE_GENERATOR: "Unix Makefiles"
     volumes: *ubuntu-volumes
     command: *cpp-command
 
diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt
index fd5eaf77f23..b4dd0e1a777 100644
--- a/cpp/CMakeLists.txt
+++ b/cpp/CMakeLists.txt
@@ -263,6 +263,9 @@ if(ARROW_USE_CCACHE
    AND NOT CMAKE_C_COMPILER_LAUNCHER
    AND NOT CMAKE_CXX_COMPILER_LAUNCHER)
 
+  # XXX This does not detect if ccache is enabled externally, for example
+  # by adding `/usr/lib/ccache` to PATH in which case `cc` resolves to
+  # `/usr/lib/ccache/cc`. Such double-wrapping of ccache is suboptimal.
   find_program(CCACHE_FOUND ccache)
 
   if(CCACHE_FOUND)
diff --git a/cpp/thirdparty/download_dependencies.sh 
b/cpp/thirdparty/download_dependencies.sh
index e85e1cc0b3b..de6c5b5b88b 100755
--- a/cpp/thirdparty/download_dependencies.sh
+++ b/cpp/thirdparty/download_dependencies.sh
@@ -38,6 +38,8 @@ download_dependency() {
   local url=$1
   local out=$2
 
+  echo "Downloading ${url}" 1>&2
+
   wget --quiet --continue --output-document="${out}" "${url}" || \
     (echo "Failed downloading ${url}" 1>&2; exit 1)
 }
diff --git a/dev/tasks/tasks.yml b/dev/tasks/tasks.yml
index 523e9a1fbf8..65e22508bcd 100644
--- a/dev/tasks/tasks.yml
+++ b/dev/tasks/tasks.yml
@@ -382,15 +382,6 @@ tasks:
         UBUNTU: 22.04
       image: ubuntu-cpp-bundled
 
-  test-ubuntu-24.04-cpp-bundled-offline:
-    ci: github
-    template: docker-tests/github.linux.yml
-    params:
-      env:
-        UBUNTU: 24.04
-      image: ubuntu-cpp-bundled-offline
-      timeout: 120
-
   test-ubuntu-24.04-cpp-gcc-13-bundled:
     ci: github
     template: docker-tests/github.linux.yml

Reply via email to