Skip to content

CI build workflow

CI build workflow #40

Workflow file for this run

name: "PR"
on:
push:
branches:
- "main"
pull_request:
workflow_dispatch:
concurrency:
group: "${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}"
cancel-in-progress: true
jobs:
# lock-files:
# name: "Check lock files"
# runs-on: ["runs-on", "runner=8cpu-linux-x64", "run-id=${{ github.run_id }}"]
# env:
# CARGO_NET_GIT_FETCH_WITH_CLI: "true"
# steps:
# - name: "Checkout sources"
# uses: "actions/checkout@v4"
# - name: "Update lock files"
# run: |
# cargo tree
# (cd ./bin/client-eth && cargo tree)
# (cd ./bin/client-op && cargo tree)
# (cd ./bin/client-linea && cargo tree)
# - name: "Assert no changes"
# run: |
# if [ -n "$(git status --porcelain)" ]; then
# echo "Lock files not up to date"
# exit 1
# fi
# deps-semver:
# name: "Check upstream SemVer violations"
# runs-on: ["runs-on", "runner=8cpu-linux-x64", "run-id=${{ github.run_id }}"]
# steps:
# - name: "Checkout sources"
# uses: "actions/checkout@v4"
# - name: "Install sp1up"
# run: |
# curl -L https://sp1.succinct.xyz | bash
# echo "$HOME/.sp1/bin" >> $GITHUB_PATH
# - name: "Install SP1 toolchain"
# run: |
# sp1up
# - name: "Remove lock files"
# run: |
# find -name Cargo.lock -type f -exec rm {} \;
# - name: "Build without lock files"
# run: |
# cargo build --all --all-targets
fmt:
name: "Run cargo fmt"
runs-on: warp-ubuntu-latest-x64-4x
steps:
- name: "Checkout sources"
uses: "actions/checkout@v4"
- name: "Setup nightly toolchain"
uses: "actions-rs/toolchain@v1"
with:
toolchain: "nightly"
profile: "minimal"
components: "rustfmt"
override: true
- name: "Check Rust format"
run: |
cargo fmt --all -- --check
clippy:
name: "Build Reva"
runs-on: warp-custom-big-disk
steps:
- name: "Checkout sources"
uses: "actions/checkout@v4"
- name: "remove default rust"
run: |
rustup self uninstall -y
- name: Install Rust nightly toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: nightly
components: clippy
- name: "Download Valida binary release"
run: |
wget -nv https://github.com/lita-xyz/valida-releases/releases/latest/download/llvm-valida-v0.7.0-alpha-linux-x86_64.tar.xz
- name: "Install Valida"
run: |
mkdir -p /home/runner/.local/bin
tar -xf llvm-valida-v0.7.0-alpha-linux-x86_64.tar.xz
cd ./valida-toolchain
sudo ./install.sh
rustup toolchain link valida /valida-toolchain
- name: "Build Reva"
run: |
cd bin/host
cargo +valida build
# - name: "Run clippy lints"
# run: |
# cargo clippy --all --all-targets -- -D warnings
# tests:
# name: "Run tests"
# runs-on:
# ["runs-on", "runner=64cpu-linux-x64", "run-id=${{ github.run_id }}"]
# env:
# CARGO_NET_GIT_FETCH_WITH_CLI: "true"
# steps:
# - name: "Checkout sources"
# uses: "actions/checkout@v4"
# - name: "Install sp1up"
# run: |
# curl -L https://sp1.succinct.xyz | bash
# echo "$HOME/.sp1/bin" >> $GITHUB_PATH
# - name: "Install SP1 toolchain"
# run: |
# sp1up
# - name: "Set up test fixture"
# run: |
# git clone https://github.com/succinctlabs/reva-tests --branch 2024-09-11 --depth 1 ../reva-tests
# cd ../reva-tests/
# docker compose up -d
# - name: "Use local test fixture"
# run: |
# echo "RPC_1=http://localhost:9545/main/evm/1" >> $GITHUB_ENV
# echo "RPC_10=http://localhost:9545/main/evm/10" >> $GITHUB_ENV
# echo "RPC_59144=http://localhost:9545/main/evm/59144" >> $GITHUB_ENV
# - name: "Run tests"
# run: |
# export RUST_LOG=info
# cargo test --all -- --nocapture