Skip to content

Commit

Permalink
add draft GH action
Browse files Browse the repository at this point in the history
also references this dev branch itself. probably want to do some test-runs prior to merging
  • Loading branch information
ChaoticWalrus committed Mar 28, 2023
1 parent dae7335 commit 0a01ec3
Show file tree
Hide file tree
Showing 6 changed files with 65 additions and 4 deletions.
64 changes: 64 additions & 0 deletions .github/workflows/certora-prover.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: Certora Prover

on:
push:
branches:
- master
- release-v*
- formal-verification
- add-certora-prover-to-github-workflows
pull_request: {}
workflow_dispatch: {}

jobs:
list-scripts:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- uses: actions/checkout@v2
- id: set-matrix
run: echo ::set-output name=matrix::$(ls certora/scripts/{,**}/*.sh | grep -v '\WnoCI\W' | jq -Rsc 'split("\n")[:-1]')
verify:
runs-on: ubuntu-latest
needs: list-scripts
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly
- name: Install forge dependencies
run: forge install
- name: Install python
uses: actions/setup-python@v2
with:
python-version: '3.10'
cache: 'pip'
- name: Install java
uses: actions/setup-java@v1
with:
java-version: '11'
java-package: 'jre'
- name: Install certora
run: pip install certora-cli
- name: Install solc
run: |
wget https://github.com/ethereum/solidity/releases/download/v0.8.12/solc-static-linux
sudo mv solc-static-linux /usr/local/bin/solc
chmod +x /usr/local/bin/solc
- name: Verify rule ${{ matrix.params }}
run: |
touch certora/applyHarness.patch
make -C certora munged
bash ${{ matrix.params }}
env:
CERTORAKEY: ${{ secrets.CERTORAKEY }}

strategy:
fail-fast: false
max-parallel: 4
matrix:
params: ${{ fromJson(needs.list-scripts.outputs.matrix) }}
1 change: 0 additions & 1 deletion certora/scripts/core/verifyDelegationManager.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ then
RULE="--rule $2"
fi

solc-select use 0.8.12

certoraRun certora/harnesses/DelegationManagerHarness.sol \
lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol lib/openzeppelin-contracts/contracts/mocks/ERC1271WalletMock.sol \
Expand Down
1 change: 0 additions & 1 deletion certora/scripts/libraries/verifyStructuredLinkedList.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ then
RULE="--rule $2"
fi

solc-select use 0.8.12

certoraRun certora/harnesses/StructuredLinkedListHarness.sol \
--verify StructuredLinkedListHarness:certora/specs/libraries/StructuredLinkedList.spec \
Expand Down
1 change: 0 additions & 1 deletion certora/scripts/permissions/verifyPausable.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ then
RULE="--rule $2"
fi

solc-select use 0.8.12

certoraRun certora/harnesses/PausableHarness.sol \
certora/munged/permissions/PauserRegistry.sol \
Expand Down
1 change: 0 additions & 1 deletion certora/scripts/strategies/verifyStrategyBase.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ then
RULE="--rule $2"
fi

solc-select use 0.8.12

certoraRun certora/munged/strategies/StrategyBase.sol \
lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol \
Expand Down
1 change: 1 addition & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
certora-cli==3.6.4

0 comments on commit 0a01ec3

Please sign in to comment.