Hive Hive
Sign in

Add Rust graph toolchain support

GitHub issue · Closed

Metadata
Source
tuist/once #104
Updated
Jun 24, 2026
Domains
Once
Details

Summary

  • Adds Rust graph rules for Cargo-backed dependency sets, first-party libraries and binaries, resolved crates, and proc macros.
  • Makes Cargo.toml and Cargo.lock the source of truth: the root cargo_dependencies target runs cargo metadata --locked and reconciles resolved external packages into cacheable Once Rust actions.
  • Updates Once workspace manifests so first-party Rust targets depend on the cacheable Cargo dependency target and use CARGO_PKG_NAME or cargo_package to consume Cargo’s direct external deps.
  • Removes the generated third-party Once manifest and the separate once query deps resolver surface.

Testing

  • mise exec -- cargo fmt --all -- --check
  • mise exec -- cargo test -p once-frontend
  • mise exec -- cargo test -p once-cli
  • mise exec -- cargo build -p once-cli
  • mise exec -- cargo build -p once-cli --target x86_64-apple-darwin
  • mise exec -- target/debug/once --format json query schema cargo_dependencies
  • mise exec -- target/debug/once --format json query targets --kind cargo_dependencies
  • mise exec -- target/debug/once --format json -C /tmp/once-once-smoke build crates/once-cli/once
  • Verified the Once-built arm64 binary and the x86_64 macOS binary both report once 0.0.0.
Flights

Investigate, reproduce, or fix this item in an isolated repository. Each Flight preserves its outcome and agent session.

New Flights are paused Configure model inference, GitHub, and a sandbox provider to start another Flight. Existing results remain available below.
No Flights yet

Start a Flight and preserve its objective, outcome, and session here.

Comments

No GitHub comments yet.