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 d17d7f08 fix(ci): Ensure cargo check --no-default-features passes
(#579)
d17d7f08 is described below
commit d17d7f08dd65fe42d9bf64126ae2a383666c72f6
Author: Balthasar Teuscher <[email protected]>
AuthorDate: Fri Feb 6 17:38:29 2026 +0100
fix(ci): Ensure cargo check --no-default-features passes (#579)
---
.github/workflows/rust.yml | 13 ++++++++++++-
rust/sedona/src/context.rs | 1 +
rust/sedona/src/object_storage.rs | 17 ++++++++++++-----
3 files changed, 25 insertions(+), 6 deletions(-)
diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml
index f2c4e547..03b6b5f7 100644
--- a/.github/workflows/rust.yml
+++ b/.github/workflows/rust.yml
@@ -50,7 +50,7 @@ jobs:
strategy:
fail-fast: false
matrix:
- name: ["clippy", "docs", "test", "build", "fmt"]
+ name: ["clippy", "docs", "test", "check", "build", "fmt"]
name: "${{ matrix.name }}"
runs-on: ubuntu-latest
@@ -130,6 +130,17 @@ jobs:
run: |
sudo apt-get update && sudo apt-get install -y libgeos-dev
+ - name: Check
+ if: matrix.name == 'check'
+ run: |
+ cargo check -p sedona --no-default-features
+ cargo check --workspace --all-targets --no-default-features
+ cargo check --workspace --all-targets
+ # Clean up build artifacts aggressively
+ rm -rf target/debug/deps
+ rm -rf target/debug/incremental
+ rm -rf target/debug/build
+
- name: Build
if: matrix.name == 'build'
run: |
diff --git a/rust/sedona/src/context.rs b/rust/sedona/src/context.rs
index 6efd3ba4..6e31b855 100644
--- a/rust/sedona/src/context.rs
+++ b/rust/sedona/src/context.rs
@@ -87,6 +87,7 @@ impl SedonaContext {
let rt_builder = RuntimeEnvBuilder::new();
let runtime_env = rt_builder.build_arc()?;
+ #[allow(unused_mut)]
let mut state_builder = SessionStateBuilder::new()
.with_default_features()
.with_runtime_env(runtime_env)
diff --git a/rust/sedona/src/object_storage.rs
b/rust/sedona/src/object_storage.rs
index 0d57f3fb..83c296be 100644
--- a/rust/sedona/src/object_storage.rs
+++ b/rust/sedona/src/object_storage.rs
@@ -23,17 +23,17 @@ use std::sync::Arc;
use datafusion::common::config::{
ConfigEntry, ConfigExtension, ConfigField, ExtensionOptions, TableOptions,
Visit,
};
+#[allow(unused_imports)]
use datafusion::common::{config_err, exec_datafusion_err, exec_err};
use datafusion::config::ConfigFileType;
use datafusion::datasource::listing::ListingTableUrl;
use datafusion::error::{DataFusionError, Result};
use datafusion::execution::context::SessionState;
-
-use async_trait::async_trait;
-
use datafusion::execution::SessionStateBuilder;
use dirs::home_dir;
-use object_store::{CredentialProvider, ObjectStore};
+#[cfg(any(feature = "aws", feature = "azure", feature = "gcp", feature =
"http"))]
+use object_store::CredentialProvider;
+use object_store::ObjectStore;
use url::Url;
#[cfg(feature = "aws")]
@@ -250,7 +250,7 @@ struct S3CredentialProvider {
}
#[cfg(feature = "aws")]
-#[async_trait]
+#[async_trait::async_trait]
impl CredentialProvider for S3CredentialProvider {
type Credential = AwsCredential;
@@ -269,6 +269,7 @@ impl CredentialProvider for S3CredentialProvider {
}
}
+#[cfg(feature = "aws")]
pub fn get_oss_object_store_builder(
url: &Url,
aws_options: &AwsOptions,
@@ -276,6 +277,7 @@ pub fn get_oss_object_store_builder(
get_object_store_builder(url, aws_options, true)
}
+#[cfg(feature = "aws")]
pub fn get_cos_object_store_builder(
url: &Url,
aws_options: &AwsOptions,
@@ -283,6 +285,7 @@ pub fn get_cos_object_store_builder(
get_object_store_builder(url, aws_options, false)
}
+#[cfg(feature = "aws")]
fn get_object_store_builder(
url: &Url,
aws_options: &AwsOptions,
@@ -310,6 +313,7 @@ fn get_object_store_builder(
Ok(builder)
}
+#[cfg(feature = "gcp")]
pub fn get_gcs_object_store_builder(
url: &Url,
gs_options: &GcpOptions,
@@ -395,6 +399,7 @@ pub fn get_azure_object_store_builder(
Ok(builder)
}
+#[allow(unused)]
fn get_bucket_name(url: &Url) -> Result<&str> {
url.host_str().ok_or_else(|| {
DataFusionError::Execution(format!(
@@ -700,6 +705,7 @@ impl ConfigExtension for AzureOptions {
const PREFIX: &'static str = "azure";
}
+#[allow(unused_variables)]
pub(crate) async fn get_object_store(
state: &SessionState,
scheme: &str,
@@ -768,6 +774,7 @@ pub(crate) async fn get_object_store(
Ok(store)
}
+#[allow(unused_variables)]
pub(crate) fn register_table_options_extension_from_scheme(ctx:
&SedonaContext, scheme: &str) {
match scheme {
#[cfg(feature = "aws")]