From 297fc338bd194a738f125a4e89e2e7ccd566f474 Mon Sep 17 00:00:00 2001 From: gajinder Date: Wed, 18 Oct 2023 22:18:02 +0530 Subject: [PATCH 1/4] feat: activate blob interop CI tests --- .github/workflows/test-sim-merge.yml | 11 ++++++----- packages/beacon-node/test/sim/4844-interop.test.ts | 10 +++++----- packages/beacon-node/test/utils/node/beacon.ts | 1 + 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/.github/workflows/test-sim-merge.yml b/.github/workflows/test-sim-merge.yml index 268df5620559..3df90fcf3267 100644 --- a/.github/workflows/test-sim-merge.yml +++ b/.github/workflows/test-sim-merge.yml @@ -17,7 +17,7 @@ env: NETHERMIND_IMAGE: nethermind/nethermind:1.14.3 MERGEMOCK_IMAGE: g11tech/mergemock:latest GETH_WITHDRAWALS_IMAGE: g11tech/geth:withdrawalsfeb8 - ETHEREUMJS_WITHDRAWALS_IMAGE: g11tech/ethereumjs:blobs-b6b63 + ETHEREUMJS_BLOBS_IMAGE: ethpandaops/ethereumjs:master-7b4c229 NETHERMIND_WITHDRAWALS_IMAGE: nethermindeth/nethermind:withdrawals_yolo ETHEREUMJS_BLOBS_IMAGE: g11tech/ethereumjs:blobs-b6b63 @@ -108,14 +108,15 @@ jobs: EL_SCRIPT_DIR: gethdocker - name: Pull ethereumjs withdrawals - run: docker pull $ETHEREUMJS_WITHDRAWALS_IMAGE + run: docker pull $ETHEREUMJS_BLOBS_IMAGE - - name: Test Lodestar <> ethereumjs withdrawals - run: yarn test:sim:withdrawals + - name: Test Lodestar <> ethereumjs blobs + run: yarn test:sim:blobs working-directory: packages/beacon-node env: - EL_BINARY_DIR: ${{ env.ETHEREUMJS_WITHDRAWALS_IMAGE }} + EL_BINARY_DIR: ${{ env.ETHEREUMJS_BLOBS_IMAGE }} EL_SCRIPT_DIR: ethereumjsdocker + DEV_RUN: true # Disable nethermind build as the withdrawal test config seems to be no # longer available, enable after grabbing a build which has one diff --git a/packages/beacon-node/test/sim/4844-interop.test.ts b/packages/beacon-node/test/sim/4844-interop.test.ts index 014339a3d2d8..150d55408815 100644 --- a/packages/beacon-node/test/sim/4844-interop.test.ts +++ b/packages/beacon-node/test/sim/4844-interop.test.ts @@ -24,7 +24,7 @@ import {logFilesDir} from "./params.js"; import {shell} from "./shell.js"; // NOTE: How to run -// DEV_RUN=true EL_BINARY_DIR=g11tech/ethereumjs:devnet6-32aaac EL_SCRIPT_DIR=ethereumjsdocker yarn mocha test/sim/4844-interop.test.ts +// DEV_RUN=true EL_BINARY_DIR=ethpandaops/ethereumjs:master-7b4c229 EL_SCRIPT_DIR=ethereumjsdocker yarn mocha test/sim/4844-interop.test.ts // ``` /* eslint-disable no-console, @typescript-eslint/naming-convention */ @@ -102,7 +102,7 @@ describe("executionEngine / ExecutionEngineHttp", function () { // delay a bit so that test is over the startup cpu surge that can cause timeouts // somehow this seems to be dependent on the number of the bns we start which calls // for some debugging - const genesisSlotsDelay = 30; + const genesisSlotsDelay = 5; // On the emprical runs 11 blobs are processed, leaving 3 blobs marging const expectedBlobs = 8; @@ -144,7 +144,7 @@ describe("executionEngine / ExecutionEngineHttp", function () { options: { api: {rest: {enabled: true} as BeaconRestApiServerOpts}, sync: {isSingleNode: true}, - network: {allowPublishToZeroPeers: true, rateLimitMultiplier: 0}, + network: {allowPublishToZeroPeers: true, rateLimitMultiplier: 0, useWorker: false}, // Now eth deposit/merge tracker methods directly available on engine endpoints eth1: {enabled: false, providerUrls: [engineRpcUrl], jwtSecretHex}, executionEngine: {urls: [engineRpcUrl], jwtSecretHex}, @@ -203,7 +203,7 @@ describe("executionEngine / ExecutionEngineHttp", function () { }, options: { api: {rest: {enabled: false} as BeaconRestApiServerOpts}, - network: {allowPublishToZeroPeers: true, discv5: null}, + network: {allowPublishToZeroPeers: true, discv5: null, useWorker: false}, // Now eth deposit/merge tracker methods directly available on engine endpoints eth1: {enabled: false, providerUrls: [engineRpcUrl], jwtSecretHex}, executionEngine: {urls: [engineRpcUrl], jwtSecretHex}, @@ -237,7 +237,7 @@ describe("executionEngine / ExecutionEngineHttp", function () { }, options: { api: {rest: {enabled: false} as BeaconRestApiServerOpts}, - network: {allowPublishToZeroPeers: true, discv5: null}, + network: {allowPublishToZeroPeers: true, discv5: null, useWorker: false}, // Now eth deposit/merge tracker methods directly available on engine endpoints eth1: {enabled: false, providerUrls: [engineRpcUrl], jwtSecretHex}, executionEngine: {urls: [engineRpcUrl], jwtSecretHex}, diff --git a/packages/beacon-node/test/utils/node/beacon.ts b/packages/beacon-node/test/utils/node/beacon.ts index 92b09f0e02b6..29f0ae2cce4c 100644 --- a/packages/beacon-node/test/utils/node/beacon.ts +++ b/packages/beacon-node/test/utils/node/beacon.ts @@ -58,6 +58,7 @@ export async function getDevBeaconNode( localMultiaddrs: options.network?.localMultiaddrs || ["/ip4/127.0.0.1/tcp/0"], targetPeers: defaultNetworkOptions.targetPeers, maxPeers: defaultNetworkOptions.maxPeers, + useWorker: options.network?.useWorker ?? defaultNetworkOptions.useWorker, }, } as Partial, options From bfc1d39610c7cb9e095051ec5ef66e1c3284731b Mon Sep 17 00:00:00 2001 From: gajinder Date: Wed, 18 Oct 2023 22:34:40 +0530 Subject: [PATCH 2/4] fix the workflow file --- .github/workflows/test-sim-merge.yml | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/.github/workflows/test-sim-merge.yml b/.github/workflows/test-sim-merge.yml index 3df90fcf3267..8c29d3e77ff7 100644 --- a/.github/workflows/test-sim-merge.yml +++ b/.github/workflows/test-sim-merge.yml @@ -19,7 +19,6 @@ env: GETH_WITHDRAWALS_IMAGE: g11tech/geth:withdrawalsfeb8 ETHEREUMJS_BLOBS_IMAGE: ethpandaops/ethereumjs:master-7b4c229 NETHERMIND_WITHDRAWALS_IMAGE: nethermindeth/nethermind:withdrawals_yolo - ETHEREUMJS_BLOBS_IMAGE: g11tech/ethereumjs:blobs-b6b63 jobs: sim-merge-tests: @@ -107,7 +106,7 @@ jobs: EL_BINARY_DIR: ${{ env.GETH_WITHDRAWALS_IMAGE }} EL_SCRIPT_DIR: gethdocker - - name: Pull ethereumjs withdrawals + - name: Pull ethereumjs blobs run: docker pull $ETHEREUMJS_BLOBS_IMAGE - name: Test Lodestar <> ethereumjs blobs @@ -131,18 +130,6 @@ jobs: # EL_BINARY_DIR: ${{ env.NETHERMIND_WITHDRAWALS_IMAGE }} # EL_SCRIPT_DIR: netherminddocker - # Enable the blob sims when stable images - # - name: Pull ethereumjs blobs - # run: docker pull $ETHEREUMJS_BLOBS_IMAGE - - # - name: Test Lodestar <> ethereumjs blobs - # run: yarn test:sim:blobs - # working-directory: packages/beacon-node - # env: - # EL_BINARY_DIR: ${{ env.ETHEREUMJS_BLOBS_IMAGE }} - # EL_SCRIPT_DIR: ethereumjsdocker - # DEV_RUN: true - - name: Upload debug log test files if: ${{ always() }} uses: actions/upload-artifact@v3 From 00101715d9051ef348f015bd6eca6ffd1fd7a72e Mon Sep 17 00:00:00 2001 From: gajinder Date: Thu, 19 Oct 2023 11:48:06 +0530 Subject: [PATCH 3/4] try fix --- .../test/scripts/el-interop/ethereumjsdocker/post-merge.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/beacon-node/test/scripts/el-interop/ethereumjsdocker/post-merge.sh b/packages/beacon-node/test/scripts/el-interop/ethereumjsdocker/post-merge.sh index dee850740370..1062f372b19d 100755 --- a/packages/beacon-node/test/scripts/el-interop/ethereumjsdocker/post-merge.sh +++ b/packages/beacon-node/test/scripts/el-interop/ethereumjsdocker/post-merge.sh @@ -5,4 +5,4 @@ currentDir=$(pwd) . $scriptDir/common-setup.sh -docker run --rm -u $(id -u ${USER}):$(id -g ${USER}) --name custom-execution --network host -v $currentDir/$DATA_DIR:/data $EL_BINARY_DIR --dataDir /data/ethereumjs --gethGenesis /data/genesis.json --rpc --rpcEngine --jwt-secret /data/jwtsecret --logLevel debug --isSingleNode +docker run --rm -u $(id -u ${USER}):$(id -g ${USER}) --name custom-execution --network host -v $currentDir/$DATA_DIR:/data $EL_BINARY_DIR --dataDir /data/ethereumjs --gethGenesis /data/genesis.json --rpc --rpcEngine --rpcEngineAddr 0.0.0.0 --jwt-secret /data/jwtsecret --logLevel debug --isSingleNode From 6b04a4e7758a312fb03f8ec5f75121499acbb280 Mon Sep 17 00:00:00 2001 From: gajinder Date: Thu, 19 Oct 2023 17:09:35 +0530 Subject: [PATCH 4/4] eth port fix --- .../test/scripts/el-interop/ethereumjsdocker/post-merge.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/beacon-node/test/scripts/el-interop/ethereumjsdocker/post-merge.sh b/packages/beacon-node/test/scripts/el-interop/ethereumjsdocker/post-merge.sh index 1062f372b19d..580b59f4be1b 100755 --- a/packages/beacon-node/test/scripts/el-interop/ethereumjsdocker/post-merge.sh +++ b/packages/beacon-node/test/scripts/el-interop/ethereumjsdocker/post-merge.sh @@ -5,4 +5,4 @@ currentDir=$(pwd) . $scriptDir/common-setup.sh -docker run --rm -u $(id -u ${USER}):$(id -g ${USER}) --name custom-execution --network host -v $currentDir/$DATA_DIR:/data $EL_BINARY_DIR --dataDir /data/ethereumjs --gethGenesis /data/genesis.json --rpc --rpcEngine --rpcEngineAddr 0.0.0.0 --jwt-secret /data/jwtsecret --logLevel debug --isSingleNode +docker run --rm -u $(id -u ${USER}):$(id -g ${USER}) --name custom-execution --network host -v $currentDir/$DATA_DIR:/data $EL_BINARY_DIR --dataDir /data/ethereumjs --gethGenesis /data/genesis.json --rpc --rpcEngine --rpcAddr 0.0.0.0 --rpcEngineAddr 0.0.0.0 --jwt-secret /data/jwtsecret --logLevel debug --isSingleNode