name: Build on: push: branches: ["main"] pull_request: branches: ["main"] env: CARGO_TERM_COLOR: always jobs: build-ubuntu-x86: runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 - name: Install solc run: | mkdir -p solc curl -sSL --output solc/solc https://github.com/ethereum/solidity/releases/download/v0.8.28/solc-static-linux chmod +x solc/solc echo "$(pwd)/solc/" >> $GITHUB_PATH - name: Install LLVM run: | curl -sSL --output llvm.tar.xz https://github.com/paritytech/revive/releases/download/v0.1.0-dev.7/clang+llvm-18.1.8-x86_64-linux-gnu-ubuntu-24.04.tar.xz mkdir llvm18 tar Jxf llvm.tar.xz -C llvm18/ echo "LLVM_SYS_181_PREFIX=$(pwd)/llvm18" >> $GITHUB_ENV - name: Install geth run: | sudo add-apt-repository -y ppa:ethereum/ethereum sudo apt update sudo apt install -y ethereum - name: Machete uses: bnjbvr/cargo-machete@main - name: Format run: make format - name: Clippy run: make clippy - name: Test cargo workspace run: make test-workspace - name: Test CLI run: make test-cli - uses: actions/upload-artifact@v4 with: name: ${{ github.job }}-resolc path: ./target/release/resolc retention-days: 1