docs: add dev docs #411
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |