2021-10-14 12:54:43 +00:00
|
|
|
name: CI
|
|
|
|
|
|
|
|
on: [push, pull_request]
|
|
|
|
|
2024-08-01 04:51:52 +00:00
|
|
|
concurrency:
|
|
|
|
group: ${{ github.workflow }}-${{ github.ref || github.run_id }}
|
|
|
|
cancel-in-progress: true
|
|
|
|
|
|
|
|
|
2021-10-14 12:54:43 +00:00
|
|
|
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
|
2024-08-01 04:51:52 +00:00
|
|
|
uses: actions/setup-python@v5
|
2024-07-24 16:50:18 +00:00
|
|
|
with: { python-version: 3.9 }
|
|
|
|
|
|
|
|
- name: Install Java
|
2024-08-01 04:51:52 +00:00
|
|
|
uses: actions/setup-java@v4
|
|
|
|
with:
|
|
|
|
distribution: 'zulu'
|
|
|
|
java-version: '11'
|
|
|
|
java-package: 'jre'
|
2024-07-24 16:50:18 +00:00
|
|
|
|
|
|
|
- name: Install Certora CLI
|
2024-08-27 10:47:22 +00:00
|
|
|
run: pip3 install certora-cli==7.10.2
|
2024-07-24 16:50:18 +00:00
|
|
|
|
|
|
|
- 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
|
|
|
|
|
2024-08-01 04:51:52 +00:00
|
|
|
- name: Install Node.js
|
|
|
|
uses: actions/setup-node@v4
|
2024-07-24 16:50:18 +00:00
|
|
|
with:
|
2024-08-01 04:51:52 +00:00
|
|
|
cache: npm
|
2024-07-24 16:50:18 +00:00
|
|
|
node-version: "lts/*"
|
|
|
|
|
2024-08-01 04:51:52 +00:00
|
|
|
- name: Install the Node.js dependencies
|
|
|
|
run: npm install
|
2024-07-24 16:50:18 +00:00
|
|
|
|
|
|
|
- name: Verify rules
|
2024-10-15 10:12:59 +00:00
|
|
|
run: |
|
|
|
|
npm run ${{matrix.rule}}
|
2024-07-24 16:50:18 +00:00
|
|
|
env:
|
|
|
|
CERTORAKEY: ${{ secrets.CERTORAKEY }}
|
|
|
|
|
|
|
|
strategy:
|
|
|
|
fail-fast: false
|
|
|
|
max-parallel: 16
|
2024-10-15 10:12:59 +00:00
|
|
|
matrix:
|
|
|
|
rule:
|
|
|
|
- verify:marketplace
|
|
|
|
- verify:state_changes
|
|
|
|
|