From f5de7e704cf858067c7d4d57bcdeba84a4b6998c Mon Sep 17 00:00:00 2001 From: geoknee Date: Tue, 20 Aug 2024 13:14:32 +0100 Subject: [PATCH] introduce monorepoBuildCommand artifact --- validation/genesis/genesis-predeploy_test.go | 15 +++------------ validation/genesis/genesis.go | 1 + validation/genesis/monorepo-outputs.sh | 14 +++++++++----- .../genesis/validation-inputs/34443/meta.toml | 1 + .../genesis/validation-inputs/480/meta.toml | 1 + .../genesis/validation-inputs/4801/meta.toml | 1 + 6 files changed, 16 insertions(+), 17 deletions(-) diff --git a/validation/genesis/genesis-predeploy_test.go b/validation/genesis/genesis-predeploy_test.go index ecb9f6dc2..8dc3314c2 100644 --- a/validation/genesis/genesis-predeploy_test.go +++ b/validation/genesis/genesis-predeploy_test.go @@ -62,18 +62,9 @@ func testGenesisPredeploys(t *testing.T, chain *ChainConfig) { // blow away any leftover files from the previous run executeCommandInDir(t, monorepoDir, exec.Command("git", "reset", "--hard", monorepoCommit)) - // TODO unskip these, I am skipping to save time in development since we - // are not validating multiple chains yet - if false { - executeCommandInDir(t, monorepoDir, exec.Command("rm", "-rf", "node_modules")) - executeCommandInDir(t, contractsDir, exec.Command("rm", "-rf", "node_modules")) - } + executeCommandInDir(t, monorepoDir, exec.Command("rm", "-rf", "node_modules")) + executeCommandInDir(t, contractsDir, exec.Command("rm", "-rf", "node_modules")) - // install dependencies - // TODO we expect this step to vary as we scan through the monorepo history - // so we will need some branching logic here - // executeCommandInDir(t, contractsDir, exec.Command("pnpm", "install", "--no-frozen-lockfile")) - executeCommandInDir(t, contractsDir, exec.Command("yarn", "install", "--no-frozen-lockfile")) if monorepoCommit == "d80c145e0acf23a49c6a6588524f57e32e33b91" { // apply a patch to get things working @@ -101,7 +92,7 @@ func testGenesisPredeploys(t *testing.T, chain *ChainConfig) { // regenerate genesis.json at this monorepo commit. executeCommandInDir(t, thisDir, exec.Command("cp", "./monorepo-outputs.sh", monorepoDir)) - executeCommandInDir(t, monorepoDir, exec.Command("sh", "./monorepo-outputs.sh", vis.GenesisCreationCommand)) + executeCommandInDir(t, monorepoDir, exec.Command("sh", "./monorepo-outputs.sh", vis.MonorepoBuildCommand, vis.GenesisCreationCommand)) expectedData, err := os.ReadFile(path.Join(monorepoDir, "expected-genesis.json")) require.NoError(t, err) diff --git a/validation/genesis/genesis.go b/validation/genesis/genesis.go index efe74994f..cbc35b55b 100644 --- a/validation/genesis/genesis.go +++ b/validation/genesis/genesis.go @@ -52,5 +52,6 @@ func init() { type ValidationMetadata struct { GenesisCreationCommit string `toml:"genesis_creation_commit"` // in https://github.com/ethereum-optimism/optimism/ + MonorepoBuildCommand string `toml:"monorepo_build_command"` GenesisCreationCommand string `toml:"genesis_creation_command"` } diff --git a/validation/genesis/monorepo-outputs.sh b/validation/genesis/monorepo-outputs.sh index 6f73f1da2..f745a15d8 100755 --- a/validation/genesis/monorepo-outputs.sh +++ b/validation/genesis/monorepo-outputs.sh @@ -1,5 +1,13 @@ set -e +echo "Inferring and selecting correct Node version" +export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")" +[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm +nvm use + +echo "Running install command" +eval $1 + echo "Inferring and selecting correct go version" go_version=$(grep -m 1 '^go ' go.mod | awk '{print $2}') @@ -11,11 +19,7 @@ gvm install go${go_version} || exit 1 gvm use go${go_version} || exit 1 set -e -echo "Inferring and selecting correct Node version" -export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")" -[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm -nvm use echo "Running op-node genesis l2 command" -eval "$1" +eval "$2" diff --git a/validation/genesis/validation-inputs/34443/meta.toml b/validation/genesis/validation-inputs/34443/meta.toml index 81fde2b1e..07ce9fbe6 100644 --- a/validation/genesis/validation-inputs/34443/meta.toml +++ b/validation/genesis/validation-inputs/34443/meta.toml @@ -1,4 +1,5 @@ genesis_creation_commit = "3eda4cd594ba6409584eb6ef95c341d98419e392" +monorepo_build_command = "yarn install --no-frozen-lockfile" genesis_creation_command = """\ go \ run \ diff --git a/validation/genesis/validation-inputs/480/meta.toml b/validation/genesis/validation-inputs/480/meta.toml index fd263d30e..3c0918d9c 100644 --- a/validation/genesis/validation-inputs/480/meta.toml +++ b/validation/genesis/validation-inputs/480/meta.toml @@ -1,4 +1,5 @@ genesis_creation_commit = "4a3d3fb444f50bed6a6991785ea5634e0efa07a4" +monorepo_build_command = "pnpm install --no-frozen-lockfile" genesis_creation_command = """\ go \ run \ diff --git a/validation/genesis/validation-inputs/4801/meta.toml b/validation/genesis/validation-inputs/4801/meta.toml index 8453161fa..dabea6b6e 100644 --- a/validation/genesis/validation-inputs/4801/meta.toml +++ b/validation/genesis/validation-inputs/4801/meta.toml @@ -1,4 +1,5 @@ genesis_creation_commit = "4a3d3fb444f50bed6a6991785ea5634e0efa07a4" +monorepo_build_command = "pnpm install --no-frozen-lockfile" genesis_creation_command = """\ go \ run \