From 2aa2e697fd5d0ef3cd88961bb030f9e760db581b Mon Sep 17 00:00:00 2001 From: Dewey Dunnington Date: Tue, 9 Jul 2024 16:56:58 -0700 Subject: [PATCH] fix(ci): Fix verification workflow (#552) There are a few problems in the verification workflow: - On Windows, we weren't exporting any symbols in the C data integration test (when building with CMake) - The R package testthat doesn't seem to support centos7, which we would need to test the R package there - The R package jsonlite seems to leak memory. One fix is https://github.com/jeroen/jsonlite/pull/442 , but in the meantime we can ignore the leak since it doesn't come from us. --- .github/workflows/verify.yaml | 5 +++-- CMakeLists.txt | 2 ++ valgrind.supp | 9 +++++++++ 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/.github/workflows/verify.yaml b/.github/workflows/verify.yaml index 71b7b1caf..d0e54da45 100644 --- a/.github/workflows/verify.yaml +++ b/.github/workflows/verify.yaml @@ -134,8 +134,9 @@ jobs: platform: "centos7", arch: "amd64", # Currently the Python on the centos7 image is 3.6, which does not support - # new enough setuptools to build the Python package. - compose_args: "-e NANOARROW_ACCEPT_IMPORT_GPG_KEYS_ERROR=1 -e TEST_PYTHON=0" + # new enough setuptools to build the Python package. Our test dependencies + # no longer support centos7 for R, either. + compose_args: "-e NANOARROW_ACCEPT_IMPORT_GPG_KEYS_ERROR=1 -e TEST_PYTHON=0 -e TEST_R=0" } - { platform: "ubuntu", diff --git a/CMakeLists.txt b/CMakeLists.txt index a31e30250..f54fbaef7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -314,6 +314,8 @@ if(NANOARROW_BUILD_TESTS OR NANOARROW_BUILD_INTEGRATION_TESTS) set_target_properties(nanoarrow PROPERTIES POSITION_INDEPENDENT_CODE ON) add_library(nanoarrow_c_data_integration SHARED src/nanoarrow/integration/c_data_integration.cc) + target_compile_definitions(nanoarrow_c_data_integration PRIVATE NANOARROW_BUILD_DLL + NANOARROW_EXPORT_DLL) target_include_directories(nanoarrow_c_data_integration PUBLIC $ $ diff --git a/valgrind.supp b/valgrind.supp index c26db940c..c17530414 100644 --- a/valgrind.supp +++ b/valgrind.supp @@ -57,3 +57,12 @@ fun:malloc fun:_PyObject_GC_NewVar } + +# Can be removed when https://github.com/jeroen/jsonlite/pull/442 is released +{ + :Leak in base64_encode + Memcheck:Leak + ... + fun:base64_encode + fun:R_base64_encode +}