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

jiayu pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/sedona-spatialbench.git


The following commit(s) were added to refs/heads/main by this push:
     new ae57d71  feature: Add DuckDB and SedonaDB nightly support (#76)
ae57d71 is described below

commit ae57d712b8889a5980832f81d9c5489166950ba3
Author: Jia Yu <[email protected]>
AuthorDate: Mon Jan 19 21:19:08 2026 -0700

    feature: Add DuckDB and SedonaDB nightly support (#76)
    
    * Add DuckDB and SedonaDB nighly support
    
    * Fix duckdb
    
    * Fix duckdb
    
    * Fix
    
    * Fix DuckDB
    
    * Add SedonaDB nightly
    
    * Fix
    
    * fix
---
 .github/workflows/benchmark.yml | 42 ++++++++++++++++++++++++++++++++++++-----
 1 file changed, 37 insertions(+), 5 deletions(-)

diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml
index a68289c..57ec575 100644
--- a/.github/workflows/benchmark.yml
+++ b/.github/workflows/benchmark.yml
@@ -68,6 +68,16 @@ on:
           - '1'
           - '3'
           - '5'
+      sedonadb_nightly:
+        description: 'Use SedonaDB nightly build from Gemfury (ignores version 
if true)'
+        required: false
+        default: true
+        type: boolean
+      duckdb_nightly:
+        description: 'Use DuckDB pre-release/nightly build (ignores version if 
true)'
+        required: false
+        default: true
+        type: boolean
 
 concurrency:
   group: ${{ github.repository }}-${{ github.ref }}-benchmark
@@ -84,6 +94,9 @@ env:
   DUCKDB_VERSION: ${{ github.event.inputs.duckdb_version }}
   GEOPANDAS_VERSION: ${{ github.event.inputs.geopandas_version }}
   SPATIAL_POLARS_VERSION: ${{ github.event.inputs.spatial_polars_version }}
+  # Nightly build options (default: true)
+  SEDONADB_NIGHTLY: ${{ github.event.inputs.sedonadb_nightly || 'true' }}
+  DUCKDB_NIGHTLY: ${{ github.event.inputs.duckdb_nightly || 'true' }}
   # Hugging Face dataset for benchmark data
   HF_DATASET: apache-sedona/spatialbench
   HF_DATA_VERSION: v0.1.0
@@ -194,7 +207,15 @@ jobs:
       
       - name: Install dependencies
         run: |
-          if [ -n "${{ env.DUCKDB_VERSION }}" ]; then
+          echo "=== DuckDB Installation Parameters ==="
+          echo "DUCKDB_NIGHTLY: ${{ env.DUCKDB_NIGHTLY }}"
+          echo "DUCKDB_VERSION: ${{ env.DUCKDB_VERSION }}"
+          echo "======================================"
+          if [ "${{ env.DUCKDB_NIGHTLY }}" = "true" ]; then
+            # Use --pre to install pre-release dev builds (e.g., 1.4.4.dev48)
+            # Constraint <1.5.0 ensures we get 1.4.x branch dev builds
+            pip install "duckdb<1.5.0" --pre pyarrow pandas
+          elif [ -n "${{ env.DUCKDB_VERSION }}" ]; then
             pip install "duckdb==${{ env.DUCKDB_VERSION }}" pyarrow pandas
           else
             pip install duckdb pyarrow pandas
@@ -203,6 +224,7 @@ jobs:
       
       - name: Pre-install DuckDB spatial extension
         run: |
+          # Dev builds don't have spatial extension in core_nightly, so always 
use default repo
           python -c "import duckdb; con = duckdb.connect(); 
con.execute('INSTALL spatial'); print('DuckDB spatial extension installed')"
       
       - name: Run DuckDB benchmark
@@ -249,7 +271,7 @@ jobs:
           else
             pip install geopandas pandas pyarrow shapely
           fi
-          echo "Installed GeoPandas version: $(python -c 'from 
importlib.metadata import version; print(version(\"geopandas\"))')"
+          echo "Installed GeoPandas version: $(python -c 'from 
importlib.metadata import version; print(version("geopandas"))')"
       
       - name: Run GeoPandas benchmark
         run: |
@@ -290,12 +312,22 @@ jobs:
       
       - name: Install dependencies
         run: |
-          if [ -n "${{ env.SEDONADB_VERSION }}" ]; then
+          echo "=== SedonaDB Installation Parameters ==="
+          echo "SEDONADB_NIGHTLY: ${{ env.SEDONADB_NIGHTLY }}"
+          echo "SEDONADB_VERSION: ${{ env.SEDONADB_VERSION }}"
+          echo "========================================"
+          if [ "${{ env.SEDONADB_NIGHTLY }}" = "true" ]; then
+            # Use Gemfury as primary index and --pre to install nightly alpha 
builds (e.g., 0.3.0a69)
+            pip install "sedonadb[geopandas]" pandas pyarrow pyproj \
+              --pre \
+              --index-url https://repo.fury.io/sedona-nightlies/ \
+              --extra-index-url https://pypi.org/simple/
+          elif [ -n "${{ env.SEDONADB_VERSION }}" ]; then
             pip install "sedonadb[geopandas]==${{ env.SEDONADB_VERSION }}" 
pandas pyarrow pyproj
           else
             pip install "sedonadb[geopandas]" pandas pyarrow pyproj
           fi
-          echo "Installed SedonaDB version: $(python -c 'from 
importlib.metadata import version; print(version(\"sedonadb\"))')"
+          echo "Installed SedonaDB version: $(python -c 'from 
importlib.metadata import version; print(version("sedonadb"))')"
       
       - name: Run SedonaDB benchmark
         run: |
@@ -341,7 +373,7 @@ jobs:
           else
             pip install "spatial-polars[knn]" pyarrow
           fi
-          echo "Installed Spatial Polars version: $(python -c 'from 
importlib.metadata import version; print(version(\"spatial-polars\"))')"
+          echo "Installed Spatial Polars version: $(python -c 'from 
importlib.metadata import version; print(version("spatial-polars"))')"
       
       - name: Run Spatial Polars benchmark
         run: |

Reply via email to