mirror of
https://github.com/serai-dex/serai.git
synced 2025-12-08 12:19:24 +00:00
74 lines
2.6 KiB
YAML
74 lines
2.6 KiB
YAML
name: build-dependencies
|
|
description: Installs build dependencies for Serai
|
|
|
|
runs:
|
|
using: "composite"
|
|
steps:
|
|
- name: Remove unused packages
|
|
shell: bash
|
|
run: |
|
|
sudo apt remove -y "*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 --allow-remove-essential -f shim-signed
|
|
# This command would fail, due to shim-signed having unmet dependencies, hence its removal
|
|
sudo apt remove -y "*qemu*" "*sql*" "*texinfo*" "*imagemagick*"
|
|
if: runner.os == 'Linux'
|
|
|
|
- name: Remove unused packages
|
|
shell: bash
|
|
run: |
|
|
(gem uninstall -aIx) || (exit 0)
|
|
brew uninstall --force "*msbuild*" "*powershell*" "*nuget*" "*bazel*" "*ansible*" "*terraform*" "*heroku*" "*aws*" azure-cli
|
|
brew uninstall --force "*nodejs*" "*npm*" "*yarn*" "*java*" "*kotlin*" "*golang*" "*swift*" "*julia*" "*fortran*" "*android*"
|
|
brew uninstall --force "*apache2*" "*nginx*" "*firefox*" "*chromium*" "*chrome*" "*edge*"
|
|
brew uninstall --force "*qemu*" "*sql*" "*texinfo*" "*imagemagick*"
|
|
brew cleanup
|
|
if: runner.os == 'macOS'
|
|
|
|
- name: Install dependencies
|
|
shell: bash
|
|
run: |
|
|
if [ "$RUNNER_OS" == "Linux" ]; then
|
|
sudo apt install -y ca-certificates protobuf-compiler
|
|
elif [ "$RUNNER_OS" == "Windows" ]; then
|
|
choco install protoc
|
|
elif [ "$RUNNER_OS" == "macOS" ]; then
|
|
brew install protobuf
|
|
fi
|
|
|
|
- name: Install solc
|
|
shell: bash
|
|
run: |
|
|
cargo +1.89 install svm-rs --version =0.5.18
|
|
svm install 0.8.25
|
|
svm use 0.8.25
|
|
|
|
- name: Remove preinstalled Docker
|
|
shell: bash
|
|
run: |
|
|
docker system prune -a --volumes
|
|
sudo apt remove -y *docker*
|
|
# Install uidmap which will be required for the explicitly installed Docker
|
|
sudo apt install uidmap
|
|
if: runner.os == 'Linux'
|
|
|
|
- name: Update system dependencies
|
|
shell: bash
|
|
run: |
|
|
sudo apt update -y
|
|
sudo apt upgrade -y
|
|
sudo apt autoremove -y
|
|
sudo apt clean
|
|
if: runner.os == 'Linux'
|
|
|
|
- name: Install rootless Docker
|
|
uses: docker/setup-docker-action@b60f85385d03ac8acfca6d9996982511d8620a19
|
|
with:
|
|
rootless: true
|
|
set-host: true
|
|
if: runner.os == 'Linux'
|
|
|
|
# - name: Cache Rust
|
|
# uses: Swatinem/rust-cache@a95ba195448af2da9b00fb742d14ffaaf3c21f43
|