codex-contracts-eth/.github/workflows/ci.yml

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.10.1
- 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