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

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


The following commit(s) were added to refs/heads/main by this push:
     new 8b16f39b chore(dev/release): Ensure release verification passes (#671)
8b16f39b is described below

commit 8b16f39b8a8806daacf3c09a2f6e1c864fed69e8
Author: Dewey Dunnington <[email protected]>
AuthorDate: Sat Feb 28 07:39:52 2026 -0600

    chore(dev/release): Ensure release verification passes (#671)
---
 dev/release/README.md                    | 54 ++++++++++++++++----------------
 python/sedonadb/tests/io/test_pyogrio.py | 20 +++++++-----
 python/sedonadb/tests/test_sjoin.py      |  4 +++
 3 files changed, 43 insertions(+), 35 deletions(-)

diff --git a/dev/release/README.md b/dev/release/README.md
index 6124432a..133b0da0 100644
--- a/dev/release/README.md
+++ b/dev/release/README.md
@@ -22,13 +22,13 @@
 ## Verifying a release candidate
 
 Release candidates are verified using the script `verify-release-candidate.sh 
<version> <rc_num>`.
-For example, to verify SedonaDB 0.2.0 RC0, run:
+For example, to verify SedonaDB 0.3.0 RC0, run:
 
 ```shell
 # git clone https://github.com/apache/sedona-db.git && cd sedona-db
 # or
 # cd existing/sedona-db && git fetch upstream && git switch main && git pull 
upstream main
-dev/release/verify-release-candidate.sh 0.2.0 0
+dev/release/verify-release-candidate.sh 0.3.0 0
 ```
 
 Release verification requires a recent Rust toolchain. This toolchain can be 
installed
@@ -93,8 +93,8 @@ a committer.
 
 ```shell
 git pull upstream main
-git checkout -b branch-0.2.0
-git push upstream -u branch-0.2.0:branch-0.2.0
+git checkout -b branch-0.3.0
+git push upstream -u branch-0.3.0:branch-0.3.0
 ```
 
 This push should cause two CI runs to begin:
@@ -120,8 +120,8 @@ When the state of the `branch-x.x.x` branch is clean and 
checks are complete,
 the release candidate tag can be created:
 
 ```shell
-git tag -a apache-sedona-db-0.2.0-rc0 -m "Tag Apache SedonaDB 0.2.0-rc0"
-git push upstream apache-sedona-db-0.2.0-rc0
+git tag -a apache-sedona-db-0.3.0-rc0 -m "Tag Apache SedonaDB 0.3.0-rc0"
+git push upstream apache-sedona-db-0.3.0-rc0
 ```
 
 This will trigger another packaging CI run that, if successful, will create a
@@ -136,7 +136,7 @@ The GPG_KEY_ID in dev/release/.env must have its public 
component listed in the
 
 ```shell
 # sign-assets.sh <version> <rc_number>
-dev/release/sign-assets.sh 0.2.0 0
+dev/release/sign-assets.sh 0.3.0 0
 ```
 
 After the assets are signed, they can be committed and uploaded to the
@@ -145,7 +145,7 @@ is provided:
 
 ```shell
 # upload-candidate.sh <version> <rc_number>
-APACHE_USERNAME=your_apache_username dev/release/upload-candidate.sh 0.2.0 0
+APACHE_USERNAME=your_apache_username dev/release/upload-candidate.sh 0.3.0 0
 ```
 
 ## Vote
@@ -155,11 +155,11 @@ the release verification instructions and vote 
appropriately on the source relea
 The following may be used as a template:
 
 ```
-[VOTE] Release Apache SedonaDB 0.2.0-rc0
+[VOTE] Release Apache SedonaDB 0.3.0-rc0
 
 Hello,
 
-I would like to propose the following release candidate (rc0) of Apache 
SedonaDB [0] version 0.2.0. This is a release consisting of 138 resolved GitHub 
issues from 17 contributors [1].
+I would like to propose the following release candidate (rc0) of Apache 
SedonaDB [0] version 0.3.0. This is a release consisting of 138 resolved GitHub 
issues from 17 contributors [1].
 
 This release candidate is based on commit: 
69f89a9a0cced55a3792eb6dfe1f76e9dd01033c [2]
 
@@ -169,14 +169,14 @@ Please download, verify checksums and signatures, run the 
unit tests, and vote o
 
 The vote will be open for at least 72 hours.
 
-[ ] +1 Release this as Apache SedonaDB 0.2.0
+[ ] +1 Release this as Apache SedonaDB 0.3.0
 [ ] +0
-[ ] -1 Do not release this as Apache SedonaDB 0.2.0 because...
+[ ] -1 Do not release this as Apache SedonaDB 0.3.0 because...
 
 [0] https://github.com/apache/sedona-db
 [1] https://github.com/apache/sedona-db/milestone/1?closed=1
-[2] https://github.com/apache/sedona-db/tree/apache-sedona-db-0.2.0-rc1
-[3] https://dist.apache.org/repos/dist/dev/sedona/apache-sedona-db-0.2.0-rc1
+[2] https://github.com/apache/sedona-db/tree/apache-sedona-db-0.3.0-rc1
+[3] https://dist.apache.org/repos/dist/dev/sedona/apache-sedona-db-0.3.0-rc1
 [4] https://github.com/apache/arrow-nanoarrow/blob/main/dev/release/README.md
 [5] https://github.com/apache/sedona/pull/2540
 ```
@@ -194,20 +194,20 @@ Apache release repository. A helper script is provided:
 
 ```shell
 # upload-release.sh <version> <rc_number>
-dev/release/upload-release.sh 0.2.0 0
+dev/release/upload-release.sh 0.3.0 0
 ```
 
 An official Git tag must also be created and uploaded to the Apache remote:
 
 ```shell
-git tag -a apache-sedona-db-0.2.0 -m "SedonaDB 0.2.0" 
apache-sedona-db-0.2.0-rc0^{}
-git push upstream apache-sedona-db-0.2.0
+git tag -a apache-sedona-db-0.3.0 -m "SedonaDB 0.3.0" 
apache-sedona-db-0.3.0-rc0^{}
+git push upstream apache-sedona-db-0.3.0
 ```
 
-The prerelease located at 
<https://github.com/apache/sedona-db/releases/tag/apache-sedona-db-0.2.0-rc0>
+The prerelease located at 
<https://github.com/apache/sedona-db/releases/tag/apache-sedona-db-0.3.0-rc0>
 can now be edited to point to the official release tag and the GitHub release 
published
 from the UI. The release notes may be automatically generated by selecting
-`apache-sedona-db-0.2.0.dev` as the previous release.
+`apache-sedona-db-0.3.0.dev` as the previous release.
 
 ### Publish Python package
 
@@ -257,11 +257,11 @@ as ready for review, solicit final reviews, and merge to 
publish the post to the
 The following template may be used:
 
 ```
-[ANNOUNCE] Apache SedonaDB 0.2.0 released
+[ANNOUNCE] Apache SedonaDB 0.3.0 released
 
 Dear all,
 
-We are happy to report that we have released Apache SedonaDB 0.2.0.
+We are happy to report that we have released Apache SedonaDB 0.3.0.
 Thank you again for your help.
 
 SedonaDB is the first open-source, single-node analytical database engine that 
treats spatial data as a first-class citizen. It is developed as a subproject 
of Apache Sedona.
@@ -273,7 +273,7 @@ Release notes:
 https://sedona.apache.org/latest/blog/2025/12/01/sedonadb-020-release/
 
 Download link:
-https://www.apache.org/dyn/closer.cgi/sedona/apache-sedona-db-0.2.0
+https://www.apache.org/dyn/closer.cgi/sedona/apache-sedona-db-0.3.0
 
 Additional resources:
 Mailing list: [email protected]
@@ -299,12 +299,12 @@ are currently all derived from `Cargo.toml`, which can be 
updated to:
 
 ```
 [workspace.package]
-version = "0.3.0"
+version = "0.4.0"
 ```
 
 The R package must also be updated. R Packages use a different convention for 
development
-versions such that in preparation for 0.3.0 the development version should be
-`0.2.0.9000`. This is set the DESCRIPTION of the requisite package.
+versions such that in preparation for 0.4.0 the development version should be
+`0.3.0.9000`. This is set the DESCRIPTION of the requisite package.
 
 Development versions and the changelog are derived from the presence of a 
development
 tag on the main branch signifying where development of that version "started". 
After
@@ -312,6 +312,6 @@ the version bump PR merges, that commit should be tagged 
with the appropriate
 development tag:
 
 ```shell
-git tag -a apache-sedona-db-0.3.0.dev -m "tag dev 0.3.0"
-git push upstream apache-sedona-db-0.3.0.dev
+git tag -a apache-sedona-db-0.4.0.dev -m "tag dev 0.4.0"
+git push upstream apache-sedona-db-0.4.0.dev
 ```
diff --git a/python/sedonadb/tests/io/test_pyogrio.py 
b/python/sedonadb/tests/io/test_pyogrio.py
index 8b3d8084..8aaef75f 100644
--- a/python/sedonadb/tests/io/test_pyogrio.py
+++ b/python/sedonadb/tests/io/test_pyogrio.py
@@ -17,6 +17,7 @@
 
 import io
 import tempfile
+import warnings
 from pathlib import Path
 
 import geoarrow.pyarrow as ga
@@ -169,13 +170,16 @@ def test_write_ogr(con):
         )
 
         # Ensure inferred CRS that is None works
-        con.sql("SELECT ST_Point(0, 1)").to_pyogrio(f"{td}/foofy.fgb")
-        expected = geopandas.GeoDataFrame(
-            {"geometry": geopandas.GeoSeries.from_wkt(["POINT (0 1)"])}
-        )
-        geopandas.testing.assert_geodataframe_equal(
-            geopandas.read_file(f"{td}/foofy.fgb"), expected
-        )
+        # pyogrio warns for the case where a CRS is None
+        with warnings.catch_warnings():
+            warnings.simplefilter("ignore")
+            con.sql("SELECT ST_Point(0, 1)").to_pyogrio(f"{td}/foofy.fgb")
+            expected = geopandas.GeoDataFrame(
+                {"geometry": geopandas.GeoSeries.from_wkt(["POINT (0 1)"])}
+            )
+            geopandas.testing.assert_geodataframe_equal(
+                geopandas.read_file(f"{td}/foofy.fgb"), expected
+            )
 
 
 def test_write_ogr_buffer(con):
@@ -187,7 +191,7 @@ def test_write_ogr_buffer(con):
 
     df.to_pyogrio(buf, driver="FlatGeoBuf")
     geopandas.testing.assert_geodataframe_equal(
-        geopandas.read_file(buf.getvalue(), driver="FlatGeoBuf"), expected
+        geopandas.read_file(buf.getvalue()), expected
     )
 
     # Ensure reasonable error if driver is not specified
diff --git a/python/sedonadb/tests/test_sjoin.py 
b/python/sedonadb/tests/test_sjoin.py
index 438d6f99..346fe0eb 100644
--- a/python/sedonadb/tests/test_sjoin.py
+++ b/python/sedonadb/tests/test_sjoin.py
@@ -22,6 +22,7 @@ import geopandas as gpd
 import numpy as np
 import pandas as pd
 import pytest
+import sedonadb
 from sedonadb.testing import PostGIS, SedonaDB, random_geometry
 from shapely.geometry import Point
 
@@ -245,6 +246,9 @@ def test_spatial_mark_join_via_correlated_exists(outer, on):
     ],
 )
 def test_spatial_join_geography(join_type, on):
+    if "s2geography" not in sedonadb.__features__:
+        pytest.skip("Python package built without s2geography")
+
     with (
         SedonaDB.create_or_skip() as eng_sedonadb,
         PostGIS.create_or_skip() as eng_postgis,

Reply via email to