2021-10-14 12:54:43 +00:00
|
|
|
name: CI
|
|
|
|
|
|
|
|
on: [push, pull_request]
|
|
|
|
|
|
|
|
jobs:
|
2024-01-24 10:35:48 +00:00
|
|
|
formatting:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
2024-06-14 11:53:18 +00:00
|
|
|
- uses: actions/checkout@v4
|
|
|
|
- uses: actions/setup-node@v4
|
2024-01-24 10:35:48 +00:00
|
|
|
- run: npm install
|
|
|
|
- run: npm run format:check
|
|
|
|
|
2021-10-14 12:54:43 +00:00
|
|
|
test:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
2024-06-14 11:53:18 +00:00
|
|
|
- uses: actions/checkout@v4
|
2023-05-30 14:23:23 +00:00
|
|
|
# workaround for https://github.com/NomicFoundation/hardhat/issues/3877
|
2024-06-14 11:53:18 +00:00
|
|
|
- uses: actions/setup-node@v4
|
2023-05-25 19:00:56 +00:00
|
|
|
with:
|
2023-05-30 14:23:23 +00:00
|
|
|
node-version: 18.15
|
2023-05-25 19:00:56 +00:00
|
|
|
- run: npm install
|
|
|
|
- run: npm test
|
2024-06-14 11:53:18 +00:00
|
|
|
- uses: actions/cache@v4
|
2023-01-30 13:35:14 +00:00
|
|
|
with:
|
|
|
|
path: fuzzing/corpus
|
|
|
|
key: fuzzing
|
|
|
|
- run: npm run fuzz
|
2024-07-24 16:50:18 +00:00
|
|
|
|
|
|
|
verify:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v4
|
|
|
|
with:
|
|
|
|
submodules: recursive
|
|
|
|
|
|
|
|
- name: Install Python
|
|
|
|
uses: actions/setup-python@v2
|
|
|
|
with: { python-version: 3.9 }
|
|
|
|
|
|
|
|
- name: Install Java
|
|
|
|
uses: actions/setup-java@v1
|
|
|
|
with: { java-version: "11", java-package: jre }
|
|
|
|
|
|
|
|
- name: Install Certora CLI
|
|
|
|
run: pip3 install certora-cli==7.6.3
|
|
|
|
|
|
|
|
- name: Install Solidity
|
|
|
|
run: |
|
|
|
|
wget https://github.com/ethereum/solidity/releases/download/v0.8.23/solc-static-linux
|
|
|
|
chmod +x solc-static-linux
|
|
|
|
sudo mv solc-static-linux /usr/local/bin/solc
|
|
|
|
|
|
|
|
- name: "Install Node.js"
|
|
|
|
uses: "actions/setup-node@v3"
|
|
|
|
with:
|
|
|
|
cache: "npm"
|
|
|
|
node-version: "lts/*"
|
|
|
|
|
|
|
|
- name: "Install the Node.js dependencies"
|
|
|
|
run: "npm install"
|
|
|
|
|
|
|
|
- name: Verify rules
|
|
|
|
run: "npm run verify"
|
|
|
|
env:
|
|
|
|
CERTORAKEY: ${{ secrets.CERTORAKEY }}
|
|
|
|
|
|
|
|
strategy:
|
|
|
|
fail-fast: false
|
|
|
|
max-parallel: 16
|