Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: activate blob interop CI tests #6049

Draft
wants to merge 4 commits into
base: unstable
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 7 additions & 19 deletions .github/workflows/test-sim-merge.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,8 @@ 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

jobs:
sim-merge-tests:
Expand Down Expand Up @@ -107,15 +106,16 @@ jobs:
EL_BINARY_DIR: ${{ env.GETH_WITHDRAWALS_IMAGE }}
EL_SCRIPT_DIR: gethdocker

- name: Pull ethereumjs withdrawals
run: docker pull $ETHEREUMJS_WITHDRAWALS_IMAGE
- name: Pull ethereumjs blobs
run: docker pull $ETHEREUMJS_BLOBS_IMAGE

- name: Test Lodestar <> ethereumjs withdrawals
run: yarn test:sim:withdrawals
- name: Test Lodestar <> ethereumjs blobs
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

shifting these tests to blobs as withdrawals already tested above with geth

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
Expand All @@ -130,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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 --rpcAddr 0.0.0.0 --rpcEngineAddr 0.0.0.0 --jwt-secret /data/jwtsecret --logLevel debug --isSingleNode
10 changes: 5 additions & 5 deletions packages/beacon-node/test/sim/4844-interop.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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},
Expand Down Expand Up @@ -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},
Expand Down Expand Up @@ -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},
Expand Down
1 change: 1 addition & 0 deletions packages/beacon-node/test/utils/node/beacon.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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<IBeaconNodeOptions>,
options
Expand Down