name: "Setup Rust"
runs:
using: "composite"
steps:
# Install essential system packages required for building Rust projects
- name: Install system packages
run: sudo apt-get update && sudo apt-get install -y build-essential libudev-dev protobuf-compiler libprotobuf-dev # Installs essential packages like GCC and libudev development headers
shell: bash
# Install Rust nightly toolchain and additional components
# Ensure rustfmt and clippy are installed for the nightly toolchain as well
- name: Install Rust Toolchain Components
run: |
rustup install nightly
rustup component add rustfmt clippy
rustup component add rustfmt clippy --toolchain nightly
shell: bash
# Install Cargo Expand for expanding macros in Rust, useful for debugging macro-generated code
- name: Install Cargo Expand
run: cargo install --locked cargo-expand # Installs the cargo-expand tool, using --locked to ensure exact versions from Cargo.lock are used
shell: bash