mirror of
https://github.com/serai-dex/serai.git
synced 2024-11-17 09:27:36 +00:00
a0a2ef22e4
ethers-solc was used for a type (now manually specified) and to call out to solc. Since Foundry was already a documented dependency, a call to it now handles building. Removing this single crate removes a total of 17 crates from our dependency tree. While these may still be around due to Foundry, they at least may not be. Further work to remove the requirement on Foundry for solc alone would be appreciated.
64 lines
1.9 KiB
YAML
64 lines
1.9 KiB
YAML
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 clean
|
|
docker system prune -a --volumes
|
|
|
|
- name: Install apt dependencies
|
|
shell: bash
|
|
run: sudo apt install -y ca-certificates
|
|
|
|
- name: Install Protobuf
|
|
uses: arduino/setup-protoc@a8b67ba40b37d35169e222f3bb352603327985b6
|
|
with:
|
|
repo-token: ${{ inputs.github-token }}
|
|
|
|
- name: Install solc
|
|
shell: bash
|
|
run: |
|
|
cargo install svm-rs
|
|
svm install 0.8.16
|
|
svm 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: Install Foundry
|
|
uses: foundry-rs/foundry-toolchain@cb603ca0abb544f301eaed59ac0baf579aa6aecf
|
|
with:
|
|
version: nightly
|
|
cache: false
|
|
|
|
# - name: Cache Rust
|
|
# uses: Swatinem/rust-cache@a95ba195448af2da9b00fb742d14ffaaf3c21f43
|