trident-svm 0.2.0

Trident SVM implementation by Ackee Blockchain Security
Documentation
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