Skip to content

Commit

Permalink
feat(ci): add gas-benching workflow (#204)
Browse files Browse the repository at this point in the history
Resolves #169
  • Loading branch information
alexfertel committed Jul 18, 2024
1 parent a2cb3c6 commit 7694478
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 0 deletions.
45 changes: 45 additions & 0 deletions .github/workflows/gas-bench.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: gas-bench
# This workflow checks that the compiled wasm binary of every example contract
# can be deployed to Arbitrum Stylus.
permissions:
contents: read
on:
push:
branches: [ main ]
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
env:
CARGO_TERM_COLOR: always
jobs:
required:
name: gas usage report
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: set up rust
uses: dtolnay/rust-toolchain@master
id: toolchain
with:
target: wasm32-unknown-unknown
components: rust-src
toolchain: nightly-2024-01-01

- uses: Swatinem/rust-cache@v2
with:
cache-on-failure: true

- name: install solc
run: |
curl -LO https://github.com/ethereum/solidity/releases/download/v0.8.21/solc-static-linux
sudo mv solc-static-linux /usr/bin/solc
sudo chmod a+x /usr/bin/solc
- name: setup nitro node
run: ./scripts/nitro-testnode.sh -d -i
- name: run benches
run: |
export NIGHTLY_TOOLCHAIN=${{steps.toolchain.outputs.name}}
./scripts/bench.sh
13 changes: 13 additions & 0 deletions scripts/bench.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/bin/bash
set -e

MYDIR=$(realpath "$(dirname "$0")")
cd "$MYDIR"
cd ..

NIGHTLY_TOOLCHAIN=${NIGHTLY_TOOLCHAIN:-nightly}
cargo +"$NIGHTLY_TOOLCHAIN" build --release --target wasm32-unknown-unknown -Z build-std=std,panic_abort -Z build-std-features=panic_immediate_abort

export RPC_URL=http://localhost:8547
cargo run --release -p benches
echo "Finished running benches!"

0 comments on commit 7694478

Please sign in to comment.