docs: `foundryup` recommendation can install a version different from the repository-pinned Foundry toolchain
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 1/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 86/100
- Tipo di issue
- Documentazione
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- solidity
Direzione di ricerca
Leggi le istruzioni di configurazione e ripristino interessate in README.md insieme alla versione fissata di Foundry in .mise.toml. Verifica che i comandi documentati utilizzino la toolchain fissata dal repository e preservino il workflow semver-lock esistente. Il lavoro è completato quando README.md non indirizza più i contributors verso un percorso foundryup non fissato e le relative istruzioni di configurazione corrispondono alla definizione autorevole della versione.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
The repository pins Foundry to a specific version in .mise.toml for deterministic builds, ABI/storage snapshots, and semver-lock hashes.
However, the README currently recommends running:
foundryup
when semver-lock fails because of a Foundry version mismatch.
foundryup normally updates Foundry independently of the repository's .mise.toml pin. This can leave contributors on a different Foundry version from the one explicitly required by the repository and CI.
The recovery instruction can therefore make the original version-mismatch problem worse rather than resolving it.
Affected Files
README.md.mise.toml
Current Behavior
.mise.toml explicitly states that the repository pins tooling so contributors and CI execute builds, tests, snapshots, and semver-lock generation with byte-identical tooling.
The current pin is:
[tools]
foundry = "1.5.1"
The README, however, says that if semver-lock still fails because of a Foundry version mismatch, contributors should run:
foundryup
just semver-lock
This does not guarantee installation of Foundry 1.5.1.
Why This Is a Problem
A contributor can follow the README exactly and still end up using a toolchain different from CI.
Example flow:
- Contributor clones the repository.
- Contributor has an older or newer Foundry version.
just semver-lockfails.- Contributor follows the documented recovery instructions.
foundryupinstalls the current Foundry release.- The installed version is not necessarily the repository-pinned
1.5.1. - Generated semver-lock hashes or snapshots can still differ from CI.
This contradicts the reproducibility requirement documented in .mise.toml.
Expected Behavior
The README should direct contributors to install the exact repository-pinned toolchain.
For example:
mise install
mise exec -- just semver-lock
or otherwise explicitly install the same Foundry version used by CI.
Suggested Fix
Replace:
If CI still rejects it (Foundry version mismatch), update your local Foundry first:
```bash
foundryup
just semver-lock
with something similar to:
```markdown
If CI still rejects it because of a Foundry version mismatch, install the repository-pinned toolchain:
```bash
mise install
mise exec -- just semver-lock
The Foundry version is pinned in .mise.toml and should match CI.
## Additional Improvement
The setup section currently also says:
```bash
just install-foundry
Consider making mise install the canonical setup path if .mise.toml is intended to be the authoritative source of tool versions.
Alternatively, just install-foundry could explicitly install the version defined by .mise.toml.
Impact
This is primarily a developer-experience and build-reproducibility issue.
It can cause:
- unnecessary CI failures;
- semver-lock hash mismatches;
- snapshot differences;
- contributors regenerating artifacts with unsupported tooling;
- confusion when following the documented remediation steps.
Environment
Repository:
base/contracts
Branch:
main
Affected documentation:
README.md
Toolchain definition:
.mise.toml
- Lingua principale
- Solidity
- Stelle
- 327
- Fork
- 245
- Merge medio
- 1g 4h
- PR unite (30g)
- 13
Preparare l'ambiente
Non abbiamo ancora controllato i file di configurazione di questo progetto. Parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di base/contracts
-
bug(SuperchainConfig): extend() can re-activate an expired pause, bypassing Stage 1 requirementAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 48/100
base/contracts#410 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di base/contracts
Issue simili
-
kind/bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
I maintainer di solito rispondono entro 7 giorni
-
[Bug] @deck.gl/arcgis dist import resolves to unpublished @deck.gl/core source path (9.3.11, 9.4.0)Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
agent-research-finding agent-research-recommend chore ready-for-agent
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
jordansmall/spindrift#4068 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
Urigo/accounter-fullstack#4583 ·
I maintainer di solito rispondono entro 2 giorni
-
- P3: minor bug pkg: astro triage: fix pending
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
withastro/astro#18170 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno