ci: add cargo fmt and clippy workflow (#53)

Adds a GitHub Actions workflow running `cargo fmt --all -- --check` and
`cargo clippy --all-targets --all-features --workspace -- -D warnings`
on pushes to main and pull requests.

Rust is installed with `rustup` because the ASF action allowlist only
permits `dtolnay/rust-toolchain` at a pinned SHA.

Note: the workspace `Cargo.toml` is not on `main` yet (#45), so the
clippy job needs that to merge first. I haven't run clippy locally
against the current tree, so existing warnings may need fixing before
this goes green.
1 file changed
tree: 25957ad6af2d6280248ffc39294cc04cd62baadf
  1. .ai/
  2. .github/
  3. crates/
  4. dev/
  5. .asf.yaml
  6. .gitignore
  7. AGENTS.md
  8. Cargo.lock
  9. Cargo.toml
  10. LICENSE.txt
  11. NOTICE.txt
  12. README.md
README.md

DataFusion Spark

Apache DataFusion expressions that emulate Apache Spark's behavior.

This crate provides Spark-compatible scalar, aggregate, and table functions that can be registered with a DataFusion SessionContext.

Repository layout

  • crates/spark – the datafusion-spark crate
  • crates/sqllogictest – SQL logic tests for the Spark functions

Building and testing

cargo build
cargo test

License

Licensed under the Apache License, Version 2.0.