Skip to content

Update

Update #26

Workflow file for this run

name: CI
on:
pull_request:
types: [opened, synchronize]
push:
branches:
- main
jobs:
foundry:
strategy:
fail-fast: true
name: Foundry
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Setup Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly
- name: Setup LCOV
uses: hrishikesh-kadam/setup-lcov@v1
- name: Contract sizes
run: |
forge --version
forge build --sizes
id: build
- name: Test
run: |
forge test -vvv
id: test
- name: Report coverage
if: github.ref == 'refs/heads/main'
run: |
git config --local user.email "[email protected]"
git config --local user.name "Size"
./script/update_readme_coverage.sh
git add README.md
git commit -m "Update coverage [skip ci]" || true
git push https://${{ env.token }}@github.com/{{ github.event.repository.name }}.git
env:
token: ${{ secrets.SIZE_BOT_PAT }}
slither:
strategy:
fail-fast: true
name: Slither
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Setup Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly
- name: Run Slither
uses: crytic/[email protected]
id: slither
with:
fail-on: low
typechain:
strategy:
fail-fast: true
name: Typechain
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Setup Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly
- name: Build
run: forge build
- name: Install dependencies
run: npm install
- name: Generate types
run: npm run typechain
- name: Add typechain
if: github.ref == 'refs/heads/main'
run: |
git config --local user.email "[email protected]"
git config --local user.name "Size"
git add types/
git commit -m "Update types [skip ci]" || true
git push https://${{ env.token }}@github.com/{{ github.event.repository.name }}.git
env:
token: ${{ secrets.SIZE_BOT_PAT }}
solhint:
strategy:
fail-fast: true
name: Solhint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Install dependencies
run: npm install
- name: Run solhint
run: npm run solhint