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

xiaokang 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 f87ca772 fix(python): Fix python wheel error by disabling s3 (#826)
f87ca772 is described below

commit f87ca772a95f6aa00ca81fd1ed7c6fbc11587c11
Author: Xiaokang Yang <[email protected]>
AuthorDate: Fri Jan 16 10:16:53 2026 +0800

    fix(python): Fix python wheel error by disabling s3 (#826)
    
    * trt
    
    * remove sudo
    
    * test
    
    * try build graphar cpp
    
    * try build graphar cpp
    
    * remove sudo
    
    * remove sudo
    
    * try
    
    * try
    
    * try close s3
    
    * try close s3
    
    * try
    
    * try
    
    * open arrow s3 in macos
    
    * try
    
    * update
    
    * fix smoke test
    
    * only run in cp39
    
    * try fix
    
    * update
    
    * format
    
    * format
---
 .github/workflows/python-wheel-workflow.yml | 51 +++++++++++++++++++----------
 cpp/src/graphar/filesystem.cc               |  6 ++++
 python/pyproject.toml                       |  2 +-
 3 files changed, 40 insertions(+), 19 deletions(-)

diff --git a/.github/workflows/python-wheel-workflow.yml 
b/.github/workflows/python-wheel-workflow.yml
index cdbe0702..4504bd40 100644
--- a/.github/workflows/python-wheel-workflow.yml
+++ b/.github/workflows/python-wheel-workflow.yml
@@ -130,27 +130,28 @@ jobs:
         fi
         dnf install -y 'dnf-command(config-manager)' || dnf install -y 
dnf-plugins-core || true
         # Follow official Apache Arrow install instructions for 
AlmaLinux/RHEL-family
-        dnf install -y epel-release || \
-          dnf install -y oracle-epel-release-el${ALMA_MAJOR} || \
-          dnf install -y 
https://dl.fedoraproject.org/pub/epel/epel-release-latest-${ALMA_MAJOR}.noarch.rpm
-        dnf install -y 
https://packages.apache.org/artifactory/arrow/almalinux/${ALMA_MAJOR}/apache-arrow-release-latest.rpm
+        dnf install -y epel-release || dnf install -y 
oracle-epel-release-el$(cut -d: -f5 /etc/system-release-cpe | cut -d. -f1) || 
dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(cut 
-d: -f5 /etc/system-release-cpe | cut -d. -f1).noarch.rpm
+        dnf install -y 
https://packages.apache.org/artifactory/arrow/almalinux/$(cut -d: -f5 
/etc/system-release-cpe | cut -d. -f1)/apache-arrow-release-latest.rpm
         dnf config-manager --set-enabled epel || :
         dnf config-manager --set-enabled powertools || :
         dnf config-manager --set-enabled crb || :
-        dnf config-manager --set-enabled ol${ALMA_MAJOR}_codeready_builder || :
-        dnf config-manager --set-enabled 
codeready-builder-for-rhel-${ALMA_MAJOR}-rhui-rpms || :
-        subscription-manager repos --enable 
codeready-builder-for-rhel-${ALMA_MAJOR}-$(arch)-rpms || :
-        # manylinux images may carry older Arrow packages (e.g. arrow1700-*) 
which
-        # conflict with the newer packages from the Apache Arrow repo (e.g. 
arrow2200-*).
-        # Remove any preinstalled Arrow/Parquet RPMs so we install a 
consistent set.
-        dnf remove -y 'arrow*' 'parquet*' || true
-        # Required for GraphAr C++ build via Arrow CMake packages
-        dnf install -y --allowerasing \
-          arrow-devel \
-          arrow-dataset-devel \
-          arrow-acero-devel \
-          parquet-devel \
-          libcurl-devel re2-devel ccache
+        dnf config-manager --set-enabled ol$(cut -d: -f5 
/etc/system-release-cpe | cut -d. -f1)_codeready_builder || :
+        dnf config-manager --set-enabled codeready-builder-for-rhel-$(cut -d: 
-f5 /etc/system-release-cpe | cut -d. -f1)-rhui-rpms || :
+        subscription-manager repos --enable codeready-builder-for-rhel-$(cut 
-d: -f5 /etc/system-release-cpe | cut -d. -f1)-$(arch)-rpms || :
+        dnf install -y arrow-devel # For C++
+        dnf install -y arrow-glib-devel # For GLib (C)
+        dnf install -y arrow-dataset-devel # For Apache Arrow Dataset C++
+        dnf install -y arrow-dataset-glib-devel # For Apache Arrow Dataset 
GLib (C)
+        dnf install -y arrow-acero-devel # For Apache Arrow Acero C++
+        dnf install -y arrow-flight-devel # For Apache Arrow Flight C++
+        dnf install -y arrow-flight-glib-devel # For Apache Arrow Flight GLib 
(C)
+        dnf install -y arrow-flight-sql-devel # For Apache Arrow Flight SQL C++
+        dnf install -y arrow-flight-sql-glib-devel # For Apache Arrow Flight 
SQL GLib (C)
+        dnf install -y gandiva-devel # For Apache Gandiva C++
+        dnf install -y gandiva-glib-devel # For Apache Gandiva GLib (C)
+        dnf install -y parquet-devel # For Apache Parquet C++
+        dnf install -y parquet-glib-devel # For Apache Parquet GLib (C)
+
     steps:
       - name: Checkout (needed for some tooling)
         uses: actions/checkout@v4
@@ -184,6 +185,7 @@ jobs:
               otool -l "$CONDA/lib/libarrow.dylib" | (grep -A3 -E 
'LC_BUILD_VERSION|LC_VERSION_MIN_MACOSX' || true)
             fi
           fi
+
       - name: Install Arrow (Windows)
         if: matrix.os == 'windows'
         shell: pwsh
@@ -224,6 +226,7 @@ jobs:
             exit 1
           fi
           echo "PKGDIR=$PKGDIR" >> "$GITHUB_ENV"
+
       - name: Build wheels
         shell: bash
         run: |
@@ -232,12 +235,24 @@ jobs:
           python -m pip install packaging cibuildwheel
           mkdir -p python/dist
           python -m cibuildwheel --output-dir python/dist "$PKGDIR"
+
       - name: Store artifacts
         uses: actions/upload-artifact@v4
         with:
           name: wheels-${{ matrix.os }}-${{ matrix.platform }}
           path: python/dist/*
 
+      - name: Smoke test wheel
+        shell: bash
+        run: |
+          set -euxo pipefail
+          python -m pip uninstall -y graphar || true
+
+          python -m pip install --find-links python/dist graphar
+
+          python -c "import graphar; import graphar._core; print('GraphAr 
imported successfully')"
+          graphar --help >/dev/null
+
   upload_test_pypi:
     name: Publish to TestPyPI (auto)
     needs: [build_wheels, build_sdist]
diff --git a/cpp/src/graphar/filesystem.cc b/cpp/src/graphar/filesystem.cc
index 600ed779..78472cc4 100644
--- a/cpp/src/graphar/filesystem.cc
+++ b/cpp/src/graphar/filesystem.cc
@@ -370,20 +370,26 @@ Result<std::shared_ptr<FileSystem>> 
FileSystemFromUriOrPath(
 // arrow::fs::InitializeS3 and arrow::fs::FinalizeS3 need arrow_version >= 15
 Status InitializeS3() {
 #if defined(ARROW_VERSION) && ARROW_VERSION > 14000000
+#if defined(ARROW_S3)
   auto options = arrow::fs::S3GlobalOptions::Defaults();
+#endif
 #else
   arrow::fs::S3GlobalOptions options;
   options.log_level = arrow::fs::S3LogLevel::Fatal;
 #endif
 #if defined(ARROW_VERSION) && ARROW_VERSION >= 15000000
+#if defined(ARROW_S3)
   RETURN_NOT_ARROW_OK(arrow::fs::InitializeS3(options));
+#endif
 #endif
   return Status::OK();
 }
 
 Status FinalizeS3() {
 #if defined(ARROW_VERSION) && ARROW_VERSION >= 15000000
+#if defined(ARROW_S3)
   RETURN_NOT_ARROW_OK(arrow::fs::FinalizeS3());
+#endif
 #endif
   return Status::OK();
 }
diff --git a/python/pyproject.toml b/python/pyproject.toml
index 5f3c6e96..bc19fa63 100644
--- a/python/pyproject.toml
+++ b/python/pyproject.toml
@@ -22,7 +22,7 @@ build-backend = "scikit_build_core.build"
 
 [project]
 name = "graphar"
-version = "0.13.0-dev"
+version = "0.13.0.dev1"
 description = "An open source, standard data file format for graph data 
storage and retrieval."
 readme = "README.md"
 authors = [{ name = "GraphAr community", email = "[email protected]" }]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to