chore: pin Arrow to 58.3 to match DataFusion v54#78
Merged
Conversation
DataFusion v54 depends on arrow ^58.3.0 (arrow, arrow-flight, arrow-schema, parquet). The SDK was already on the 58 major (#75); this raises the floor to the exact minor DataFusion v54 ships, so downstream projects that combine this SDK with DataFusion 54 resolve to a single Arrow 58.3.x. - arrow / arrow-flight / arrow-json: "58" -> "58.3" (same <59 ceiling) - Resolves to arrow 58.3.0; builds clean; 178 offline unit tests pass. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Aligns this Rust SDK’s Apache Arrow dependency versions with the minor release used by DataFusion v54, aiming to reduce downstream version resolution conflicts when both are used together.
Changes:
- Bumps
arrow,arrow-flight, andarrow-jsondependency requirements from"58"to"58.3"inCargo.toml.
The macOS build jobs fail intermittently in the "Install Spice" step, not in
Rust: `cargo clippy` compiles clean on 1.93.1 in the same job. The Homebrew
formula's post-install ("Upgrading Spice Runtime") flakes and makes
`brew install` exit non-zero even though the `spice` CLI installs fine. This
is pre-existing on trunk (macos-14 fails there too), independent of the Arrow
bump, and the failing macOS cell varies run to run.
- macOS Spice install: tolerate the flaky brew post-install and fetch the
runtime explicitly with retries so a transient hiccup can't fail the job.
- Replace the archived actions-rs/toolchain (deprecated, Node 20) with the
maintained, SHA-pinned dtolnay/rust-toolchain. The concrete toolchain stays
governed by rust-toolchain.toml (channel = "1.93.1").
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
phillipleblanc
approved these changes
Jul 13, 2026
lukekim
added a commit
that referenced
this pull request
Jul 13, 2026
`curl https://install.spiceai.org | /bin/bash` has no `-f` flag, so when the proxied GitHub script returns an HTTP 429 rate-limit page, that page is piped into bash and executed (syntax error → exit 2) — an intermittent flake seen on PR CI. Add `-f` + `pipefail` so a bad HTTP response is a real curl failure, and retry the installer and `spice install` (mirrors the resilient macOS step from #72/#78). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
lukekim
added a commit
that referenced
this pull request
Jul 13, 2026
…install) (#79) * chore: cargo fmt --all + add rustfmt CI gate Trunk had accumulated rustfmt drift — CI never ran `cargo fmt --check` and there is no rustfmt.toml, so pre-existing code had multi-line attributes, unwrapped imports, and inconsistent call wrapping. - Run `cargo fmt --all` across the workspace (src/params.rs, src/client.rs). - Add a `rustfmt` job to build.yml (`cargo fmt --all --check`) so formatting stays clean going forward. Pure formatting — no behavioral change; all lib tests and doctests pass. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * ci: make Linux Spice install resilient to GitHub 429 rate limits `curl https://install.spiceai.org | /bin/bash` has no `-f` flag, so when the proxied GitHub script returns an HTTP 429 rate-limit page, that page is piped into bash and executed (syntax error → exit 2) — an intermittent flake seen on PR CI. Add `-f` + `pipefail` so a bad HTTP response is a real curl failure, and retry the installer and `spice install` (mirrors the resilient macOS step from #72/#78). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Aligns the SDK's Arrow dependency with the exact version DataFusion v54 ships.
DataFusion v54.0.0 depends on
arrow ^58.3.0(confirmed against the crates.io API and theapache/datafusion54.0.0tag —arrow,arrow-flight,arrow-schema,parquetall58.3.0).The SDK was already on the Arrow
58major (from #75), which is semver-compatible. This raises the floor to58.3so the SDK pins to the exact minor DataFusion v54 uses — same<59ceiling — and any downstream project combining this SDK with DataFusion 54 resolves to a single Arrow58.3.x.Follows the repo's existing convention (#67, "Explicitly upgrade to Arrow 57.2").
Verification
arrow/arrow-flight/arrow-jsonresolve to58.3.0.cargo check --all-targets— compiles clean (only a pre-existing dead-code warning, unrelated).cargo test --lib— 178 passed, 0 failed, including the Arrow schema/RecordBatch tests.tonic/prostalready at0.14(whatarrow-flight58 / DataFusion v54 require) — no change needed.The live-runtime integration tests in
tests/client_test.rsare unaffected by this change (they require a running Spice runtime).🤖 Generated with Claude Code