Skip to content

feat: fix CI workflows #52

feat: fix CI workflows

feat: fix CI workflows #52

Workflow file for this run

name: ethereum contract tests
on:
push:
branches:
- main
pull_request:
env:
FOUNDRY_PROFILE: ci
jobs:
check:
strategy:
fail-fast: true
name: Foundry project
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly
- name: Install Nargo
uses: noir-lang/[email protected]
with:
toolchain: 1.0.0-beta.18
- name: Install Barretenberg
run: |
curl -L https://raw.githubusercontent.com/AztecProtocol/aztec-packages/refs/heads/next/barretenberg/bbup/install | bash
~/.bb/bbup -nv 1.0.0-beta.18
sudo apt install libc++-dev
- name: Compile Circuits
run: nargo compile --workspace --skip-brillig-constraints-check
- name: Generate Verification Keys
run: |
export PATH="$HOME/.bb:$PATH"
bb write_vk -b ./target/get_header.json -o ./target/get_header
bb write_vk -b ./target/get_account.json -o ./target/get_account
bb write_vk -b ./target/get_storage.json -o ./target/get_storage
bb write_vk -b ./target/get_receipt.json -o ./target/get_receipt
bb write_vk -b ./target/get_transaction.json -o ./target/get_transaction
bb write_vk -b ./target/get_log.json -o ./target/get_log
- name: Generate Solidity Verifier Contracts
run: |
export PATH="$HOME/.bb:$PATH"
bb write_solidity_verifier -k ./target/get_header -o ./ethereum/contracts/src/generated-verifier/GetHeaderUltraPLONKVerifier.sol
bb write_solidity_verifier -k ./target/get_account -o ./ethereum/contracts/src/generated-verifier/GetAccountUltraPLONKVerifier.sol
bb write_solidity_verifier -k ./target/get_storage -o ./ethereum/contracts/src/generated-verifier/GetStorageUltraPLONKVerifier.sol
bb write_solidity_verifier -k ./target/get_receipt -o ./ethereum/contracts/src/generated-verifier/GetReceiptUltraPLONKVerifier.sol
bb write_solidity_verifier -k ./target/get_transaction -o ./ethereum/contracts/src/generated-verifier/GetTransactionUltraPLONKVerifier.sol
bb write_solidity_verifier -k ./target/get_log -o ./ethereum/contracts/src/generated-verifier/GetLogUltraPLONKVerifier.sol
- name: Run Forge build
run: |
cd ethereum/contracts
forge --version
forge build --sizes
id: build
- name: Run Forge tests
run: |
cd ethereum/contracts
forge test -vvv
id: test