Skip to content

feat: publish to crates.io with cargo-binstall-ready cross-platform binaries#1

Merged
cs50victor merged 1 commit into
mainfrom
ci/cargo_install_and_readme_update
May 30, 2026
Merged

feat: publish to crates.io with cargo-binstall-ready cross-platform binaries#1
cs50victor merged 1 commit into
mainfrom
ci/cargo_install_and_readme_update

Conversation

@cs50victor

Copy link
Copy Markdown
Owner
  • Add tag-triggered release workflow: native-runner matrix builds macOS (arm64/x64), Linux (x64/arm64), and Windows (x64) binaries, attaches them to the GitHub Release, then runs cargo publish
  • Asset names match cargo-binstall's default probe, so cargo binstall frd fetches prebuilt binaries with no binstall metadata, while cargo install frd still compiles from source
  • Replace Unix-only shell-outs (sysctl/df/du) with cross-platform sysinfo plus an iterative target/ tree walk, so non-macOS binaries report real RAM and disk instead of going inert
  • Detect Windows executable extensions in have() so cargo-installed tools are found there
  • Pin sysinfo to 0.36 deliberately: MSRV 1.75 (free under edition 2024), whereas 0.39 needs Rust 1.95
  • Add crate metadata (readme/keywords/categories), strip release binaries, and a README with install/usage docs

Before merge: add a crates.io CARGO_REGISTRY_TOKEN repo secret. Cut a release with git tag v0.1.0 && git push origin v0.1.0.

Validation: fmt + actionlint clean; cargo test; cargo check on the Windows and Linux targets; cargo publish --dry-run packaged clean; RAM/disk output cross-checked against sysctl/df.

@cs50victor cs50victor merged commit 0594902 into main May 30, 2026
1 check passed
@cs50victor cs50victor deleted the ci/cargo_install_and_readme_update branch May 30, 2026 18:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant