Skip to content

Commit 86bf673

Browse files
amiecorsoOpenCode
andcommitted
ci: pin Foundry to v1.5.1 to avoid nightly drift
CI installed foundry 'nightly', which changes daily and quietly shifts remappings auto-resolution, evm_version clamping, and fmt rules -- the same class of drift that recently produced a non-canonical CREATE2 deploy address. Pin all three foundry-toolchain installs (forge-test, forge-coverage, certora verify) to v1.5.1, and document matching it locally via 'foundryup --install 1.5.1'. Verified v1.5.1 reproduces the canonical addresses exactly: implementation 0x00000110dCdEdC9581cb5eCB8467282f2926534d and factory 0xBA5ED110eFDBa3D005bfC882d75358ACBbB85842. Co-authored-by: OpenCode <opencode-noreply@coinbase.com>
1 parent d0c113e commit 86bf673

3 files changed

Lines changed: 8 additions & 3 deletions

File tree

.github/workflows/certora.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
- name: Install Foundry
3333
uses: foundry-rs/foundry-toolchain@v1
3434
with:
35-
version: nightly
35+
version: v1.5.1
3636

3737
- name: Run Forge build
3838
run: |

.github/workflows/test.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
- name: Install Foundry
2121
uses: foundry-rs/foundry-toolchain@v1
2222
with:
23-
version: nightly
23+
version: v1.5.1
2424

2525
- name: Run Forge build
2626
run: |
@@ -54,7 +54,7 @@ jobs:
5454
- name: Install Foundry
5555
uses: foundry-rs/foundry-toolchain@v1
5656
with:
57-
version: nightly
57+
version: v1.5.1
5858

5959
- name: Install forge dependencies
6060
run: forge install

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,11 @@ Factory and implementation are deployed via [Safe Singleton Factory](https://git
9595

9696

9797
## Developing
98+
This repo pins a specific Foundry version so builds are byte-reproducible and deterministic deployments land on the canonical factory/implementation addresses. CI installs `v1.5.1` (see `.github/workflows/`); match it locally with:
99+
```bash
100+
foundryup --install 1.5.1
101+
```
102+
98103
After cloning the repo, run the tests using Forge, from [Foundry](https://github.com/foundry-rs/foundry?tab=readme-ov-file)
99104
```bash
100105
forge test

0 commit comments

Comments
 (0)