Skip to content

Setup CTF

Setup CTF #21

Workflow file for this run

name: CI
on:
pull_request:
types: [opened, synchronize]
push:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
sizes:
strategy:
fail-fast: true
name: Contract sizes
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: Contract sizes
run: |
forge --version
forge build --sizes
id: build
fmt:
strategy:
fail-fast: true
name: Forge Fmt
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: Format
run: |
forge fmt --check
id: fmt
test:
strategy:
fail-fast: true
name: Forge Test
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: Test
run: |
forge test -vvv
id: test
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
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
abi:
strategy:
fail-fast: true
name: ABI
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: Install dependencies
run: npm install
- name: ABI
run: |
forge build --build-info
- name: Archive ABI
uses: actions/upload-artifact@v4
with:
name: abi
path: |
out/RestrictedActionsGuard.sol/RestrictedActionsGuard.json