Skip to content

docs: add README and self-audit report (motivation, features, testing… #18

docs: add README and self-audit report (motivation, features, testing…

docs: add README and self-audit report (motivation, features, testing… #18

Workflow file for this run

name: CI
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
on:
push:
branches: [main]
pull_request:
workflow_dispatch:
env:
FOUNDRY_PROFILE: ci
jobs:
unit:
name: Unit Tests & Reports
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
cache: true
- name: Format Check
run: forge fmt --check
- name: Build with Sizes
run: forge build --sizes
- name: Run Unit Tests
run: forge test -vvv
- name: Coverage Report
run: forge coverage --report lcov
invariants:
name: Invariant Fuzz Tests
runs-on: ubuntu-latest
needs: unit
if: github.ref == 'refs/heads/main' || github.event_name == 'workflow_dispatch'
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
cache: true
- name: Run Invariant Tests
env:
ETH_RPC_URL:
RPC_URL:
ALCHEMY_MAINNET:
ALCHEMY_SEPOLIA:
run: forge test --mt invariant -vvv
fork:
name: Fork Tests (Mainnet + Sepolia)
runs-on: ubuntu-latest
needs: unit # Only run if unit passes
if: github.ref == 'refs/heads/main' || github.event_name == 'workflow_dispatch'
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
cache: true
- name: Run Mainnet Fork Tests
run: forge test --fork-url ${{ secrets.ALCHEMY_MAINNET }} --match-path "test/AsyncVault.t.sol" -vvv