Skip to content

docs: add dev docs #414

docs: add dev docs

docs: add dev docs #414

Workflow file for this run

name: CI
on:
workflow_dispatch:
push:
branches:
- "main"
pull_request:
jobs:
build:
runs-on: "ubuntu-latest"
steps:
- name: Checkout the repository
uses: actions/checkout@v5
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1.5.0
- name: Install dependencies
run: forge soldeer install
- name: Build
run: forge build
test:
runs-on: "ubuntu-latest"
steps:
- name: Checkout the repository
uses: actions/checkout@v5
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1.5.0
- name: Install dependencies
run: forge soldeer install
- name: Test
run: forge test
spelling:
runs-on: ubuntu-latest
steps:
- name: Checkout Actions Repository
uses: actions/checkout@v5
- name: Check for typos
uses: crate-ci/typos@v1.39.0
formatting:
runs-on: ubuntu-latest
steps:
- name: Checkout Actions Repository
uses: actions/checkout@v5
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1.5.0
- name: Check formatting
run: forge fmt --check
coverage:
runs-on: "ubuntu-latest"
permissions:
contents: read
pull-requests: write
steps:
- name: Checkout the repository
uses: actions/checkout@v5
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1.5.0
- name: Install dependencies
run: forge soldeer install
- name: Generate coverage
run: forge coverage --ir-minimum --no-match-coverage 'script|test' --report lcov
- uses: kefasjw/lcov-pull-request-report@v1
with:
lcov-file: lcov.info
github-token: ${{ secrets.GITHUB_TOKEN }}
slither:
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v5
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1.5.0
- name: Install dependencies
run: forge soldeer install
- name: Setup Python
uses: actions/setup-python@v6
with:
python-version: 3.14
- name: Install Slither
run: pip install slither-analyzer
- name: Run Slither
run: slither --config ./slither.config.json .
integration:
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v5
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1.5.0
- name: Install dependencies
run: forge soldeer install
- name: Build contracts
run: forge build
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 10.20.0
- name: Use Node.js
uses: actions/setup-node@v6
with:
node-version: lts/Jod
cache: pnpm
- name: Install dependencies
run: pnpm install -r --frozen-lockfile
- name: Run anvil
run: pnpm anvil &
- name: Run bundler
run: pnpm bundler &
- name: Deploy contracts and a test account
run: pnpm deploy-test
- name: Run integration tests
run: pnpm test