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: 1.73.0 rust-components: description: "Rust components to install" required: false default: runs: using: "composite" steps: - name: Remove unused packages shell: bash run: | sudo apt remove -y "*msbuild*" "*powershell*" "*nuget*" "*bazel*" "*ansible*" "*terraform*" "*heroku*" "*aws*" azure-cli sudo apt remove -y "*nodejs*" "*npm*" "*yarn*" "*java*" "*kotlin*" "*golang*" "*swift*" "*julia*" "*fortran*" "*android*" sudo apt remove -y "*apache2*" "*nginx*" "*firefox*" "*chromium*" "*chrome*" "*edge*" sudo apt remove -y "*qemu*" "*sql*" "*texinfo*" "*imagemagick*" sudo apt autoremove -y sudo apt update sudo apt install python3 python3-pip -y sudo apt clean docker system prune -a --volumes - name: Install Protobuf uses: arduino/setup-protoc@a8b67ba40b37d35169e222f3bb352603327985b6 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@5cb429dd810e16ff67df78472fa81cf760f4d1c0 with: toolchain: ${{ inputs.rust-toolchain }} components: ${{ inputs.rust-components }} targets: wasm32-unknown-unknown, riscv32imac-unknown-none-elf # - name: Cache Rust # uses: Swatinem/rust-cache@a95ba195448af2da9b00fb742d14ffaaf3c21f43