mirror of
https://github.com/serai-dex/serai.git
synced 2025-12-09 12:49:23 +00:00
Long-shot premised on an old forum post on how downgrading to Docker 24 solved their instance of the error we face, though our conditions for it are presumably different.
75 lines
2.7 KiB
YAML
75 lines
2.7 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 install svm-rs
|
|
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
|
|
version: type=image,tag=24.0.6
|
|
if: runner.os == 'Linux'
|
|
|
|
# - name: Cache Rust
|
|
# uses: Swatinem/rust-cache@a95ba195448af2da9b00fb742d14ffaaf3c21f43
|