name: build-dependencies
description: Installs build dependencies for Serai

inputs:
  github-token:
    description: "GitHub token to install Protobuf with"
    require: true
    default:

  rust-toolchain:
    description: "Rust toolchain to install"
    required: false
    default: stable

  rust-components:
    description: "Rust components to install"
    required: false
    default:

runs:
  using: "composite"
  steps:
    - name: Install Protobuf
      uses: arduino/setup-protoc@v2.0.0
      with:
        repo-token: ${{ inputs.github-token }}

    - name: Install solc
      shell: bash
      run: |
        pip3 install solc-select==0.2.1
        solc-select install 0.8.16
        solc-select use 0.8.16

    - name: Install Rust
      uses: dtolnay/rust-toolchain@master
      with:
        toolchain: ${{ inputs.rust-toolchain }}
        components: ${{ inputs.rust-components }}
        targets: wasm32-unknown-unknown, riscv32imac-unknown-none-elf

    # - name: Cache Rust
    #   uses: Swatinem/rust-cache@v2
