80 lines
1.8 KiB
YAML
80 lines
1.8 KiB
YAML
name: CI
|
|
|
|
on: [push, pull_request]
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref || github.run_id }}
|
|
cancel-in-progress: true
|
|
|
|
|
|
jobs:
|
|
formatting:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-node@v4
|
|
- run: npm install
|
|
- run: npm run format:check
|
|
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
# workaround for https://github.com/NomicFoundation/hardhat/issues/3877
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 18.15
|
|
- run: npm install
|
|
- run: npm test
|
|
- uses: actions/cache@v4
|
|
with:
|
|
path: fuzzing/corpus
|
|
key: fuzzing
|
|
- run: npm run fuzz
|
|
|
|
verify:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
submodules: recursive
|
|
|
|
- name: Install Python
|
|
uses: actions/setup-python@v5
|
|
with: { python-version: 3.9 }
|
|
|
|
- name: Install Java
|
|
uses: actions/setup-java@v4
|
|
with:
|
|
distribution: 'zulu'
|
|
java-version: '11'
|
|
java-package: 'jre'
|
|
|
|
- name: Install Certora CLI
|
|
run: pip3 install certora-cli==7.17.2
|
|
|
|
- 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@v4
|
|
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
|