Skip to content

feat(eip7928): BAL-aware access tracking for Amsterdam (Glamsterdam) #43

feat(eip7928): BAL-aware access tracking for Amsterdam (Glamsterdam)

feat(eip7928): BAL-aware access tracking for Amsterdam (Glamsterdam) #43

Workflow file for this run

name: CI
on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main, develop ]
jobs:
build-and-test:
name: Build and Test
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
zig-version: ['0.15.1']
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Zig
uses: goto-bus-stop/setup-zig@v2
with:
version: ${{ matrix.zig-version }}
- name: Verify Zig installation
run: zig version
- name: Check formatting
run: zig fmt --check src/
- name: Install dependencies
run: make install-deps
- name: Verify blst headers (macOS)
if: runner.os == 'macOS'
run: |
if [ -f /tmp/blst/bindings/blst.h ]; then
echo "✓ blst.h found at /tmp/blst/bindings/blst.h"
ls -la /tmp/blst/bindings/blst.h
elif [ -f /opt/homebrew/include/blst/blst.h ]; then
echo "✓ blst.h found at /opt/homebrew/include/blst/blst.h"
elif [ -f /usr/local/include/blst/blst.h ]; then
echo "✓ blst.h found at /usr/local/include/blst/blst.h"
else
echo "✗ blst.h not found in expected locations"
find /tmp/blst -name "blst.h" 2>/dev/null || echo "No blst.h in /tmp/blst"
exit 1
fi
- name: Build project
run: make build
- name: Run tests
env:
DYLD_LIBRARY_PATH: /opt/homebrew/lib:/usr/local/lib
run: make test
- name: Run examples
run: |
./zig-out/bin/simple_contract
./zig-out/bin/gas_inspector_example
./zig-out/bin/precompile_example
./zig-out/bin/contract_deployment
./zig-out/bin/uniswap_reserves
./zig-out/bin/custom_opcodes
./zig-out/bin/database_components
./zig-out/bin/cheatcode_inspector
- name: Run benchmarks
run: ./zig-out/bin/zevm-bench
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Zig
uses: goto-bus-stop/setup-zig@v2
with:
version: '0.15.1'
- name: Format check
run: zig fmt --check src/
security:
name: Security Scan
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Zig
uses: goto-bus-stop/setup-zig@v2
with:
version: '0.15.1'
- name: Install dependencies
run: make install-deps
- name: Build with security checks
run: |
make build
zig build -Doptimize=ReleaseSafe
zig build -Doptimize=ReleaseFast
benchmark:
name: Performance Benchmark
runs-on: ubuntu-latest
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Zig
uses: goto-bus-stop/setup-zig@v2
with:
version: '0.15.1'
- name: Install dependencies
run: make install-deps
- name: Build optimized version
run: |
make build
zig build -Doptimize=ReleaseFast
- name: Run benchmarks
run: ./zig-out/bin/zevm-bench
- name: Upload benchmark results
uses: actions/upload-artifact@v4
with:
name: benchmark-results
path: benchmark-results.json