2222## Verifying a release candidate
2323
2424Release candidates are verified using the script ` verify-release-candidate.sh <version> <rc_num> ` .
25- For example, to verify SedonaDB 0.1 .0 RC0, run:
25+ For example, to verify SedonaDB 0.2 .0 RC0, run:
2626
2727``` shell
2828# git clone https://github.com/apache/sedona-db.git && cd sedona-db
2929# or
3030# cd existing/sedona-db && git fetch upstream && git switch main && git pull upstream main
31- dev/release/verify-release-candidate.sh 0.1 .0 0
31+ dev/release/verify-release-candidate.sh 0.2 .0 0
3232```
3333
3434Release verification requires a recent Rust toolchain. This toolchain can be installed
@@ -46,21 +46,23 @@ install the required dependencies:
4646``` shell
4747conda create -y --name verify-sedona-db
4848conda activate verify-sedona-db
49- conda install -y curl gnupg geos proj openssl libabseil cmake pkg-config
49+ conda install -y compilers curl gnupg geos proj openssl libabseil cmake make pkg-config
5050export LD_LIBRARY_PATH=" $LD_LIBRARY_PATH :$CONDA_PREFIX /lib"
5151```
5252
53- Currently, system libclang is required to generate C bindings at build time:
53+ When verifying via Docker or on a smaller machine it may be necessary to limit the
54+ number of parallel jobs to avoid running out of memory:
5455
5556``` shell
56- apt-get update && apt-get install -y libclang-dev
57+ export CARGO_BUILD_JOBS=4
5758```
5859
59- When verifying via Docker or on a smaller machine it may be necessary to limit the
60- number of parallel jobs to avoid running out of memory:
60+ Verifiers may opt in to additional features normally tested in CI with dedicated tooling.
61+ For example, to verify with specific Python build-time features, the ` MATURIN_PEP517_ARGS `
62+ environment variable may be set.
6163
6264``` shell
63- export CARGO_BUILD_JOBS=4
65+ export MATURIN_PEP517_ARGS= " --features s2geography "
6466```
6567
6668## Creating a release
@@ -71,8 +73,8 @@ a committer.
7173
7274``` shell
7375git pull upstream main
74- git branch -b branch-0.1 .0
75- git push upstream -u branch-0.1 .0:branch-0.1 .0
76+ git branch -b branch-0.2 .0
77+ git push upstream -u branch-0.2 .0:branch-0.2 .0
7678```
7779
7880This push should cause two CI runs to begin:
@@ -98,8 +100,8 @@ When the state of the `branch-x.x.x` branch is clean and checks are complete,
98100the release candidate tag can be created:
99101
100102``` shell
101- git tag -a apache-sedona-db-0.1 .0-rc0 -m " Tag Apache SedonaDB 0.1 .0-rc0"
102- git push upstream apache-sedona-db-0.1 .0-rc0
103+ git tag -a apache-sedona-db-0.2 .0-rc0 -m " Tag Apache SedonaDB 0.2 .0-rc0"
104+ git push upstream apache-sedona-db-0.2 .0-rc0
103105```
104106
105107This will trigger another packaging CI run that, if successful, will create a
@@ -114,7 +116,7 @@ The GPG_KEY_ID in dev/release/.env must have its public component listed in the
114116
115117``` shell
116118# sign-assets.sh <version> <rc_number>
117- dev/release/sign-assets.sh 0.1 .0 0
119+ dev/release/sign-assets.sh 0.2 .0 0
118120```
119121
120122After the assets are signed, they can be committed and uploaded to the
@@ -123,7 +125,7 @@ is provided:
123125
124126``` shell
125127# upload-candidate.sh <version> <rc_number>
126- APACHE_USERNAME=your_apache_username dev/release/upload-candidate.sh 0.1 .0 0
128+ APACHE_USERNAME=your_apache_username dev/release/upload-candidate.sh 0.2 .0 0
127129```
128130
129131## Vote
@@ -140,17 +142,17 @@ Apache release repository. A helper script is provided:
140142
141143``` shell
142144# upload-release.sh <version> <rc_number>
143- APACHE_USERNAME=your_apache_username dev/release/upload-release.sh 0.1 .0 0
145+ APACHE_USERNAME=your_apache_username dev/release/upload-release.sh 0.2 .0 0
144146```
145147
146148An official GitHub tag must also be created:
147149
148150``` shell
149- git tag -a apache-sedona-db-0.1 .0 -m " SedonaDB 0.1 .0" apache-sedona-db-0.1 .0-rc0
150- git push upstream apache-sedona-db-0.1 .0
151+ git tag -a apache-sedona-db-0.2 .0 -m " SedonaDB 0.2 .0" apache-sedona-db-0.2 .0-rc0
152+ git push upstream apache-sedona-db-0.2 .0
151153```
152154
153- The prerelease located at < https://github.com/apache/sedona-db/releases/tag/apache-sedona-db-0.1 .0-rc0 >
155+ The prerelease located at < https://github.com/apache/sedona-db/releases/tag/apache-sedona-db-0.2 .0-rc0 >
154156can now be edited to point to the official release tag and the GitHub release published
155157from the UI.
156158
@@ -189,19 +191,19 @@ are currently all derived from `Cargo.toml`, which can be updated to:
189191
190192```
191193[workspace.package]
192- version = "0.2 .0"
194+ version = "0.3 .0"
193195```
194196
195197The R package must also be updated. R Packages use a different convention for development
196- versions such that in preparation for 0.2 .0 the development version should be
197- ` 0.1 .0.9000 ` . This is set the DESCRIPTION of the requisite package.
198+ versions such that in preparation for 0.3 .0 the development version should be
199+ ` 0.2 .0.9000 ` . This is set the DESCRIPTION of the requisite package.
198200
199201Development versions and the changelog are derived from the presence of a development
200202tag on the main branch signifying where development of that version "started". After
201203the version bump PR merges, that commit should be tagged with the appropriate
202204development tag:
203205
204206``` shell
205- git tag -a apache-sedona-db-0.2 .0.dev -m " tag dev 0.2 .0"
206- git push upstream apache-sedona-db-0.2 .0.dev
207+ git tag -a apache-sedona-db-0.3 .0.dev -m " tag dev 0.3 .0"
208+ git push upstream apache-sedona-db-0.3 .0.dev
207209```
0 commit comments