Skip to content

feat: trace porfiler #40

feat: trace porfiler

feat: trace porfiler #40

Workflow file for this run

name: "PR"
on:
push:
branches:
- "main"
# Disable for now
pull_request:
concurrency:
group: "${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}"
cancel-in-progress: true
jobs:
lock-files:
name: "Check lock files"
runs-on: [self-hosted, x64, linux, gpu]
env:
CARGO_NET_GIT_FETCH_WITH_CLI: "true"
steps:
- name: Load SSH key
uses: webfactory/[email protected]
with:
ssh-private-key: |
${{ secrets.SECRET_FOR_CENO_GPU }}
- name: "Checkout sources"
uses: "actions/checkout@v4"
- name: "Setup nightly toolchain"
uses: "actions-rs/toolchain@v1"
with:
toolchain: nightly-2025-08-18
components: rustfmt, clippy
override: true
- name: "Update lock files"
run: |
cargo tree
(cd ./bin/ceno-client-eth && cargo tree)
- name: "Assert no changes"
run: |
if [ -n "$(git status --porcelain)" ]; then
echo "Lock files not up to date"
exit 1
fi
fmt:
name: "Check code format"
runs-on: [self-hosted, x64, linux, gpu]
steps:
- name: Load SSH key
uses: webfactory/[email protected]
with:
ssh-private-key: |
${{ secrets.SECRET_FOR_CENO_GPU }}
- 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
e2e:
name: "Run e2e test on small block"
runs-on: [self-hosted, x64, linux, gpu]
timeout-minutes: 15
env:
BLOCK_NUM: 23587691
RPC_URL_1: ${{ secrets.RPC_URL_1 }}
steps:
- name: Load SSH key
uses: webfactory/[email protected]
with:
ssh-private-key: |
${{ secrets.SECRET_FOR_CENO_GPU }}
- name: "Checkout sources"
uses: "actions/checkout@v4"
- name: "Install cmake"
run: sudo apt-get install -y cmake
- name: "Setup Rust"
uses: dtolnay/rust-toolchain@nightly
with:
components: rust-src
targets: riscv32im-unknown-none-elf
# TODO: figure out why cargo-ceno does not work with nightly-2025-08-18
toolchain: nightly-2025-08-18
- name: "Build cargo-ceno toolchain"
run: |
JEMALLOC_SYS_WITH_MALLOC_CONF="retain:true,metadata_thp:always,thp:always,dirty_decay_ms:-1,muzzy_decay_ms:-1,abort_conf:true" \
cargo install --git https://github.com/scroll-tech/ceno.git --features jemalloc --features nightly-features cargo-ceno
- name: "Build ELF"
run: |
cd bin/ceno-client-eth && cargo ceno build --release
- name: "Run e2e test"
run: |
mkdir -p output
RUST_BACKTRACE=1 CENO_GPU_CACHE_LEVEL=0 RUSTFLAGS="-C target-feature=+avx2" \
RUST_LOG=info,openvm_stark_*=warn,openvm_cuda_common=warn \
cargo run --features "jemalloc,gpu" --config net.git-fetch-with-cli=true \
--bin ceno-reth-benchmark-bin --profile release -- --block-number $BLOCK_NUM \
--rpc-url $RPC_URL_1 --cache-dir block_data --output-dir output --mode prove-stark