66 types : [closed]
77 branches :
88 - main
9-
9+
1010 # Run on any pushes to certora/* branches
1111 push :
1212 branches :
1313 - ' certora/**'
14-
14+
1515 # Biweekly schedule (1st and 15th of each month at midnight UTC)
1616 schedule :
1717 - cron : ' 0 0 1,15 * *'
18-
18+
1919 # Manual trigger
2020 workflow_dispatch :
2121
2222jobs :
23- # First job: Compile the contracts for Certora verification
24- compile :
25- name : Compile
23+ # Compile the contracts and run verification
24+ compile_and_verify :
25+ name : Compile and verify
2626 # Run if it meets one of these conditions:
2727 # 1. It's a merged PR from a feat/* branch to dev
2828 # 2. It's a push to a certora/* branch
2929 # 3. It's a scheduled run
3030 # 4. It's a manually triggered run
3131 if : >
32- (github.event_name == 'pull_request' &&
33- github.event.pull_request.merged == true &&
34- startsWith(github.head_ref, 'feat/')) ||
35- (github.event_name == 'push' &&
32+ (github.event_name == 'pull_request' &&
33+ github.event.pull_request.merged == true &&
34+ startsWith(github.head_ref, 'feat/')) ||
35+ (github.event_name == 'push' &&
3636 startsWith(github.ref, 'refs/heads/certora/')) ||
37- github.event_name == 'schedule' ||
37+ github.event_name == 'schedule' ||
3838 github.event_name == 'workflow_dispatch'
39- runs-on : protocol-x64-16core
39+ runs-on : ubuntu-latest
40+ # runs-on: protocol-x64-16core
41+ permissions :
42+ contents : read
43+ statuses : write
44+ pull-requests : write
45+ id-token : write
4046 steps :
4147 - uses : step-security/harden-runner@ec9f2d5744a09debf3a187a3f4f675c53b671911
4248 with :
@@ -49,93 +55,29 @@ jobs:
4955 # Use dev branch for scheduled runs, otherwise use the branch that triggered the workflow
5056 ref : ${{ github.event_name == 'schedule' && 'dev' || github.ref }}
5157
52- # Install the Foundry toolchain
53- - name : Install Foundry
54- uses : foundry-rs/foundry-toolchain@82dee4ba654bd2146511f85f0d013af94670c4de
55- with :
56- version : stable
57-
58- # Install dependencies using Forge
59- - name : Install forge dependencies
60- run : forge install
61-
62- # Run Certora compilation step only
63- - uses : Certora/certora-run-action@56c6a98e84eee5cd3a135967a9a4bc06ef6d38cc
64- with :
65- # List of configuration files for different contracts to verify
66- configurations : |-
67- certora/confs/core/AllocationManager.conf
68- certora/confs/core/AllocationManagerSanity.conf
69- certora/confs/core/DelegationManager.conf
70- certora/confs/core/DelegationManagerValidState.conf
71- certora/confs/core/StrategyManager.conf
72- certora/confs/permissions/Pausable.conf
73- certora/confs/pods/EigenPodManagerRules.conf
74- certora/confs/strategies/StrategyBase.conf
75- use-beta : true
76- solc-versions : 0.8.27
77- solc-remove-version-prefix : " 0."
78- job-name : " Eigenlayer Contracts"
79- certora-key : ${{ secrets.CERTORAKEY }}
80- # Only compile, don't run verification yet
81- compilation-steps-only : true
82- env :
83- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
84-
85- # Second job: Run the actual verification after compilation succeeds
86- verify :
87- name : Verify
88- runs-on : protocol-x64-16core
89- # This job depends on the compile job
90- needs : compile
91- # Same conditions as the compile job
92- if : >
93- (github.event_name == 'pull_request' &&
94- github.event.pull_request.merged == true &&
95- startsWith(github.head_ref, 'feat/')) ||
96- (github.event_name == 'push' &&
97- startsWith(github.ref, 'refs/heads/certora/')) ||
98- github.event_name == 'schedule' ||
99- github.event_name == 'workflow_dispatch'
100- steps :
101- - uses : step-security/harden-runner@ec9f2d5744a09debf3a187a3f4f675c53b671911
102- with :
103- egress-policy : audit
104-
105- # Checkout the repository with submodules
106- - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
107- with :
108- submodules : recursive
109- # Use dev branch for scheduled runs, otherwise use the branch that triggered the workflow
110- ref : ${{ github.event_name == 'schedule' && 'dev' || github.ref }}
111-
112- # Install the Foundry toolchain.
113- - name : Install Foundry
114- uses : foundry-rs/foundry-toolchain@82dee4ba654bd2146511f85f0d013af94670c4de
115- with :
116- version : stable
117-
118- # Install dependencies using Forge
119- - name : Install forge dependencies
120- run : forge install
121-
122- # Run Certora verification with the same configurations
123- - uses : Certora/certora-run-action@56c6a98e84eee5cd3a135967a9a4bc06ef6d38cc
58+ # Run Certora compilation and verification
59+ - name : Run Certora compilation and verification
60+ uses : Certora/certora-run-action@11979c68d2ffab0b1b2fe6c72ec9d7a38855822d
12461 with :
12562 # List of configuration files for different contracts to verify
12663 configurations : |-
64+ certora/confs/multichain/CrossChainRegistry.conf
65+ certora/confs/multichain/KeyRegistrar.conf
66+ certora/confs/multichain/OperatorTableUpdater.conf
67+ certora/confs/multichain/ECDSACertificateVerifier.conf
68+ certora/confs/multichain/BN254CertificateVerifier.conf
12769 certora/confs/core/AllocationManager.conf
70+ certora/confs/core/AllocationManagerOverslashing.conf
71+ certora/confs/core/AllocationManagerValidState.conf
12872 certora/confs/core/AllocationManagerSanity.conf
12973 certora/confs/core/DelegationManager.conf
13074 certora/confs/core/DelegationManagerValidState.conf
13175 certora/confs/core/StrategyManager.conf
13276 certora/confs/permissions/Pausable.conf
13377 certora/confs/pods/EigenPodManagerRules.conf
13478 certora/confs/strategies/StrategyBase.conf
135- use-beta : true
13679 solc-versions : 0.8.27
137- solc-remove-version-prefix : " 0."
138- job-name : " Eigenlayer Contracts"
80+ job-name : " Verified Rules"
13981 certora-key : ${{ secrets.CERTORAKEY }}
14082 env :
14183 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
0 commit comments