devnet-allocs.sh script pulls the most recent version of the optimism monorepo to leverage its devnet genesis file state generation. This operation is critical for running for the op-e2e testing framework which is imported by Pessimism. The op-e2e framework, as well as other dependencies leverage a specific version of the Optimism monrepo go software that is different from the one used (latest) for generating devnet files.
Solution
Bind an optimism monorepo dependency version to the git fetching logic to enforce strict version compatibility between generated devnet resources and imported go dependency.
(Optimal Solution) Fetch monorepo dependency version in devnet-allocs.sh by parsing the go.mod dependency file.
(Quick Solution) Add a global variable to the repo that defines this version. This would require manually updating every-time the go dependency is. To ensure no regressions, a CI test can be added which verifies that both version declarations are equal and fail if not.
Problem
devnet-allocs.sh script pulls the most recent version of the optimism monorepo to leverage its devnet genesis file state generation. This operation is critical for running for the
op-e2e
testing framework which is imported by Pessimism. Theop-e2e
framework, as well as other dependencies leverage a specific version of the Optimism monrepo go software that is different from the one used (latest) for generating devnet files.Solution
Bind an optimism monorepo dependency version to the git fetching logic to enforce strict version compatibility between generated devnet resources and imported go dependency.
devnet-allocs.sh
by parsing thego.mod
dependency file.