This is an automated email from the ASF dual-hosted git repository.
yangxk1 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-graphar.git
The following commit(s) were added to refs/heads/main by this push:
new 76b95a32 fix: Fix CI build issues across C++, Python, Rust workflows
(#939)
76b95a32 is described below
commit 76b95a3257295f13452df30b6bc94d1a9e1abb78
Author: Jason <[email protected]>
AuthorDate: Mon Jul 20 22:37:37 2026 +0800
fix: Fix CI build issues across C++, Python, Rust workflows (#939)
* chore(ci): upgrade cxx and remove fixed Arrow version
Signed-off-by: Jason <[email protected]>
* fix: unify Arrow linking in benchmarks and add ASan options via
CROSSCOMPILING_EMULATOR
- benchmarks: replace raw arrow/parquet lib names with CMake imported
targets (Arrow::arrow_static/Parquet::parquet_static) to properly propagate
transitive deps like abseil
- tests: set CROSSCOMPILING_EMULATOR with
ASAN_OPTIONS=detect_container_overflow=0 to suppress false positives from
non-instrumented Arrow static libs during test discovery
Signed-off-by: Jason <[email protected]>
---------
Signed-off-by: Jason <[email protected]>
---
.github/workflows/ci.yml | 8 ++++----
.github/workflows/python.yml | 8 ++++----
.github/workflows/rust.yaml | 10 +++++-----
cpp/benchmarks/CMakeLists.txt | 42 +++++++++++++++++++++++++++---------------
cpp/test/CMakeLists.txt | 6 ++++++
rust/Cargo.lock | 39 +++++++++++++++++++++++++--------------
6 files changed, 71 insertions(+), 42 deletions(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index fb7c4059..284f94c6 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -67,10 +67,10 @@ jobs:
-P /tmp/
sudo apt-get install -y
/tmp/apache-arrow-apt-source-latest-"$(lsb_release --codename --short)".deb
sudo apt-get update -y
- sudo apt install -y libarrow-dev=24.0.0-1 \
- libarrow-dataset-dev=24.0.0-1 \
- libarrow-acero-dev=24.0.0-1 \
- libparquet-dev=24.0.0-1
+ sudo apt install -y libarrow-dev \
+ libarrow-dataset-dev \
+ libarrow-acero-dev \
+ libparquet-dev
sudo apt-get install -y libboost-graph-dev ccache libcurl4-openssl-dev
doxygen lcov ninja-build
# install benchmark
diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml
index 4a8962e0..07a33303 100644
--- a/.github/workflows/python.yml
+++ b/.github/workflows/python.yml
@@ -65,10 +65,10 @@ jobs:
-P /tmp/
sudo apt-get install -y
/tmp/apache-arrow-apt-source-latest-"$(lsb_release --codename --short)".deb
sudo apt-get update -y
- sudo apt install -y libarrow-dev=24.0.0-1 \
- libarrow-dataset-dev=24.0.0-1 \
- libarrow-acero-dev=24.0.0-1 \
- libparquet-dev=24.0.0-1
+ sudo apt install -y libarrow-dev \
+ libarrow-dataset-dev \
+ libarrow-acero-dev \
+ libparquet-dev
sudo apt-get install -y ccache libcurl4-openssl-dev
git clone https://github.com/apache/incubator-graphar-testing.git
$GAR_TEST_DATA --depth 1
diff --git a/.github/workflows/rust.yaml b/.github/workflows/rust.yaml
index ff8d3e8e..0d254e71 100644
--- a/.github/workflows/rust.yaml
+++ b/.github/workflows/rust.yaml
@@ -97,11 +97,11 @@ jobs:
-P /tmp/
sudo apt-get install -y
/tmp/apache-arrow-apt-source-latest-"$(lsb_release --codename --short)".deb
sudo apt-get update -y
- sudo apt install -y libarrow-dev=24.0.0-1 \
- libarrow-dataset-dev=24.0.0-1 \
- libarrow-acero-dev=24.0.0-1 \
- libparquet-dev=24.0.0-1 \
- libarrow-compute-dev=24.0.0-1
+ sudo apt install -y libarrow-dev \
+ libarrow-dataset-dev \
+ libarrow-acero-dev \
+ libparquet-dev \
+ libarrow-compute-dev
sudo apt-get install -y libboost-graph-dev ccache
libcurl4-openssl-dev doxygen lcov cmake
- name: Spell Check
diff --git a/cpp/benchmarks/CMakeLists.txt b/cpp/benchmarks/CMakeLists.txt
index 75d28f97..8cacc153 100644
--- a/cpp/benchmarks/CMakeLists.txt
+++ b/cpp/benchmarks/CMakeLists.txt
@@ -29,21 +29,11 @@ macro(add_benchmark target)
add_executable(${target} ${add_test_SRCS})
target_compile_features(${target} PRIVATE cxx_std_${GAR_CXX_STANDARD})
target_include_directories(${target} PRIVATE
${PROJECT_SOURCE_DIR}/thirdparty)
- if(APPLE)
- target_link_libraries(${target}
- PRIVATE benchmark::benchmark_main
- graphar
- Arrow::arrow_shared
- Parquet::parquet_shared
- ${CMAKE_DL_LIBS})
- else()
- target_link_libraries(${target}
- PRIVATE benchmark::benchmark_main
- graphar
- parquet
- arrow
- ${CMAKE_DL_LIBS})
- endif()
+ target_link_libraries(${target}
+ PRIVATE benchmark::benchmark_main
+ graphar
+ ${CMAKE_DL_LIBS})
+
if(BUILD_ARROW_FROM_SOURCE)
target_include_directories(${target} SYSTEM BEFORE PRIVATE
${GAR_ARROW_INCLUDE_DIR})
if(APPLE)
@@ -65,6 +55,28 @@ macro(add_benchmark target)
"${GAR_ARROW_BUNDLED_DEPS_STATIC_LIB}"
-Wl,--no-whole-archive)
endif()
+ else()
+ if(APPLE)
+ if(USE_STATIC_ARROW)
+ target_link_libraries(${target} PRIVATE -Wl,-force_load
Arrow::arrow_static
+ Parquet::parquet_static)
+ else()
+ target_link_libraries(${target} PRIVATE Arrow::arrow_shared
+ Parquet::parquet_shared)
+ endif()
+ else()
+ if(USE_STATIC_ARROW)
+ target_link_libraries(${target}
+ PRIVATE -Wl,--exclude-libs,ALL
+ -Wl,--whole-archive
+ Arrow::arrow_static
+ Parquet::parquet_static
+ -Wl,--no-whole-archive)
+ else()
+ target_link_libraries(${target} PRIVATE Arrow::arrow_shared
+ Parquet::parquet_shared)
+ endif()
+ endif()
endif()
endmacro()
diff --git a/cpp/test/CMakeLists.txt b/cpp/test/CMakeLists.txt
index 827b50b8..187e91b0 100644
--- a/cpp/test/CMakeLists.txt
+++ b/cpp/test/CMakeLists.txt
@@ -82,6 +82,12 @@ macro(add_graphar_test target)
include(CTest)
include(Catch)
+
+ if(GRAPHAR_ENABLE_SANITIZER)
+ set_target_properties(${target}
+ PROPERTIES CROSSCOMPILING_EMULATOR
"env;ASAN_OPTIONS=detect_container_overflow=0"
+ )
+ endif()
catch_discover_tests(${target})
endmacro()
diff --git a/rust/Cargo.lock b/rust/Cargo.lock
index 4bb944f3..3e513c56 100644
--- a/rust/Cargo.lock
+++ b/rust/Cargo.lock
@@ -78,9 +78,9 @@ dependencies = [
[[package]]
name = "cxx"
-version = "1.0.190"
+version = "1.0.198"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a7620f6cfc4dcca21f2b085b7a890e16c60fd66f560cd69ee60594908dc72ab1"
+checksum = "6fe442a792c7c736eea18b32a7f8a3b63cf8aafabda6760042dc2fdeda456291"
dependencies = [
"cc",
"cxx-build",
@@ -93,9 +93,9 @@ dependencies = [
[[package]]
name = "cxx-build"
-version = "1.0.190"
+version = "1.0.198"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a9bc1a22964ff6a355fbec24cf68266a0ed28f8b84c0864c386474ea3d0e479"
+checksum = "e3184a94384c663718698311a78a51ac00c484c10b4eeac06fb0a068c5f64fa2"
dependencies = [
"cc",
"codespan-reporting",
@@ -103,39 +103,39 @@ dependencies = [
"proc-macro2",
"quote",
"scratch",
- "syn",
+ "syn 3.0.2",
]
[[package]]
name = "cxxbridge-cmd"
-version = "1.0.190"
+version = "1.0.198"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1f29a879d35f7906e3c9b77d7a1005a6a0787d330c09dfe4ffb5f617728cb44"
+checksum = "0148d8fd1199329ddf1d157a5e134e51ceff37c6a7ddd38615c399d81cb05d8d"
dependencies = [
"clap",
"codespan-reporting",
"indexmap",
"proc-macro2",
"quote",
- "syn",
+ "syn 3.0.2",
]
[[package]]
name = "cxxbridge-flags"
-version = "1.0.190"
+version = "1.0.198"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d67109015f93f683e364085aa6489a5b2118b4a40058482101d699936a7836d6"
+checksum = "52850339faed2eaadd24e286dc1d8268cc6f8a7bd9524d713adc9099566b4c89"
[[package]]
name = "cxxbridge-macro"
-version = "1.0.190"
+version = "1.0.198"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d187e019e7b05a1f3e69a8396b70800ee867aa9fc2ab972761173ccee03742df"
+checksum = "2c77c856545d886c9bd5215409ebb63b925e262135248b50c79e5a5f194ee47c"
dependencies = [
"indexmap",
"proc-macro2",
"quote",
- "syn",
+ "syn 3.0.2",
]
[[package]]
@@ -321,7 +321,7 @@ checksum =
"d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.111",
]
[[package]]
@@ -347,6 +347,17 @@ dependencies = [
"unicode-ident",
]
+[[package]]
+name = "syn"
+version = "3.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a207d6d6a2b7fc470b80443726053f18a2481b7e1eee970597051596567987a3"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
[[package]]
name = "tempfile"
version = "3.24.0"
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]