Skip to content

Commit

Permalink
ci: support arm64 (#206)
Browse files Browse the repository at this point in the history
this image is built on both amd64 and arm64, unlike the original. Will
replace with something built & maintained by EthPandaOps @parithosh
@barnabasbusa

This should unblock Guillaume from EF
  • Loading branch information
h4ck3rk3y authored Sep 20, 2023
1 parent 8b883af commit 7e82aff
Show file tree
Hide file tree
Showing 12 changed files with 37 additions and 107 deletions.
19 changes: 18 additions & 1 deletion .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ setup_kurtosis: &setup_kurtosis
echo "deb [trusted=yes] https://apt.fury.io/kurtosis-tech/ /" | sudo tee /etc/apt/sources.list.d/kurtosis.list
sudo apt update
sudo apt install kurtosis-cli
kurtosis config init dont-send-metrics
kurtosis analytics disable
kurtosis engine restart
Expand All @@ -42,6 +42,15 @@ jobs:

- run: kurtosis run ${PWD}

run_starlark_arm64:
executor: ubuntu_vm
resource_class: arm.medium
steps:
- <<: *setup_kurtosis
- checkout

- run: kurtosis run ${PWD}

check_latest_version:
executor: ubuntu_vm
steps:
Expand Down Expand Up @@ -217,3 +226,11 @@ workflows:
branches:
ignore:
- main
- run_starlark_arm64:
context:
# This pulls in KurtosisBot's Github token, so that we can read from our private repos
- github-user
filters:
branches:
ignore:
- main
7 changes: 0 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -219,15 +219,8 @@ To configure the package behaviour, you can modify your `network_params.json` fi
"launch_additional_services": true,
// If set, the package will block until a finalized epoch has occurred.
// If `waitForVerifications` is set to true, this extra wait will be skipped.
"wait_for_finalization": false,
// If set to true, the package will block until all verifications have passed
"wait_for_verifications": false,
// If set, after the merge, this will be the maximum number of epochs wait for the verifications to succeed.
"verifications_epoch_limit": 5,
// The global log level that all clients should log at
// Valid values are "error", "warn", "info", "debug", and "trace"
// This value will be overridden by participant-specific values
Expand Down
36 changes: 13 additions & 23 deletions main.star
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ beacon_metrics_gazer = import_module("github.com/kurtosis-tech/eth2-package/src/
light_beaconchain_explorer = import_module("github.com/kurtosis-tech/eth2-package/src/light_beaconchain/light_beaconchain_launcher.star")
prometheus = import_module("github.com/kurtosis-tech/eth2-package/src/prometheus/prometheus_launcher.star")
grafana =import_module("github.com/kurtosis-tech/eth2-package/src/grafana/grafana_launcher.star")
testnet_verifier = import_module("github.com/kurtosis-tech/eth2-package/src/testnet_verifier/testnet_verifier.star")
mev_boost_launcher_module = import_module("github.com/kurtosis-tech/eth2-package/src/mev_boost/mev_boost_launcher.star")
mock_mev_launcher_module = import_module("github.com/kurtosis-tech/eth2-package/src/mock_mev/mock_mev_launcher.star")
mev_relay_launcher_module = import_module("github.com/kurtosis-tech/eth2-package/src/mev_relay/mev_relay_launcher.star")
Expand Down Expand Up @@ -139,28 +138,19 @@ def run(plan, args = {}):
grafana.launch_grafana(plan, grafana_datasource_config_template, grafana_dashboards_config_template, prometheus_private_url)
plan.print("Succesfully launched grafana")

if args_with_right_defaults.wait_for_verifications:
plan.print("Running synchrnous testnet verifier")
testnet_verifier.run_synchronous_testnet_verification(plan, args_with_right_defaults, all_el_client_contexts, all_cl_client_contexts)
plan.print("Verification succeeded")
else:
plan.print("Running asynchronous verification")
testnet_verifier.launch_testnet_verifier(plan, args_with_right_defaults, all_el_client_contexts, all_cl_client_contexts)
plan.print("Succesfully launched asynchronous verifier")
if args_with_right_defaults.wait_for_finalization:
plan.print("Waiting for the first finalized epoch")
first_cl_client = all_cl_client_contexts[0]
first_client_beacon_name = first_cl_client.beacon_service_name
epoch_recipe = GetHttpRequestRecipe(
endpoint = "/eth/v1/beacon/states/head/finality_checkpoints",
port_id = HTTP_PORT_ID_FOR_FACT,
extract = {
"finalized_epoch": ".data.finalized.epoch"
}
)
plan.wait(recipe = epoch_recipe, field = "extract.finalized_epoch", assertion = "!=", target_value = "0", timeout = "40m", service_name = first_client_beacon_name)
plan.print("First finalized epoch occurred successfully")

if args_with_right_defaults.wait_for_finalization:
plan.print("Waiting for the first finalized epoch")
first_cl_client = all_cl_client_contexts[0]
first_client_beacon_name = first_cl_client.beacon_service_name
epoch_recipe = GetHttpRequestRecipe(
endpoint = "/eth/v1/beacon/states/head/finality_checkpoints",
port_id = HTTP_PORT_ID_FOR_FACT,
extract = {
"finalized_epoch": ".data.finalized.epoch"
}
)
plan.wait(recipe = epoch_recipe, field = "extract.finalized_epoch", assertion = "!=", target_value = "0", timeout = "40m", service_name = first_client_beacon_name)
plan.print("First finalized epoch occurred successfully")

grafana_info = struct(
dashboard_path = GRAFANA_DASHBOARD_PATH_URL,
Expand Down
2 changes: 0 additions & 2 deletions network_params.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,6 @@
},
"launch_additional_services": true,
"wait_for_finalization": false,
"wait_for_verifications": false,
"verifications_epoch_limit": 5,
"global_client_log_level": "info",
"snooper_enabled": false,
"parallel_keystore_generation": false,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ shared_utils = import_module("github.com/kurtosis-tech/eth2-package/src/shared_u


SERVICE_NAME = "beacon-metrics-gazer"
IMAGE_NAME = "dapplion/beacon-metrics-gazer:latest"
IMAGE_NAME = "ethpandaops/beacon-metrics-gazer:master"

HTTP_PORT_ID = "http"
HTTP_PORT_NUMBER = 8080
Expand Down
2 changes: 1 addition & 1 deletion src/blob_spammer/blob_spammer.star
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
IMAGE_NAME = "ethpandaops/tx-fuzz:latest"
IMAGE_NAME = "ethpandaops/tx-fuzz:master"
SERVICE_NAME = "blob-spammer"

ENTRYPOINT_ARGS = ["/bin/sh", "-c"]
Expand Down
2 changes: 1 addition & 1 deletion src/cl_forkmon/cl_forkmon_launcher.star
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ shared_utils = import_module("github.com/kurtosis-tech/eth2-package/src/shared_u


SERVICE_NAME = "cl-forkmon"
IMAGE_NAME = "ralexstokes/ethereum_consensus_monitor:latest"
IMAGE_NAME = "ethpandaops/consensus-monitor:main"

HTTP_PORT_ID = "http"
HTTP_PORT_NUMBER = 80
Expand Down
2 changes: 1 addition & 1 deletion src/el_forkmon/el_forkmon_launcher.star
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ shared_utils = import_module("github.com/kurtosis-tech/eth2-package/src/shared_u


SERVICE_NAME = "el-forkmon"
IMAGE_NAME = "skylenet/nodemonitor:darkmode"
IMAGE_NAME = "ethpandaops/execution-monitor:master"

HTTP_PORT_ID = "http"
HTTP_PORT_NUMBER = 8080
Expand Down
2 changes: 1 addition & 1 deletion src/light_beaconchain/light_beaconchain_launcher.star
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ shared_utils = import_module("github.com/kurtosis-tech/eth2-package/src/shared_u


SERVICE_NAME = "light-beaconchain"
IMAGE_NAME = "pk910/light-beaconchain-explorer:latest"
IMAGE_NAME = "ethpandaops/dora-the-explorer:master"

HTTP_PORT_ID = "http"
HTTP_PORT_NUMBER = 8080
Expand Down
2 changes: 0 additions & 2 deletions src/package_io/parse_input.star
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,6 @@ def parse_input(plan, input_args):
),
launch_additional_services=result["launch_additional_services"],
wait_for_finalization=result["wait_for_finalization"],
wait_for_verifications=result["wait_for_verifications"],
verifications_epoch_limit=result["verifications_epoch_limit"],
global_client_log_level=result["global_client_log_level"],
mev_type=result["mev_type"],
), result
Expand Down
65 changes: 0 additions & 65 deletions src/testnet_verifier/testnet_verifier.star

This file was deleted.

3 changes: 1 addition & 2 deletions src/transaction_spammer/transaction_spammer.star
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
#TODO: Add Image and Service Name to tx_spammer_params
IMAGE_NAME = "ethpandaops/tx-fuzz:latest"
IMAGE_NAME = "ethpandaops/tx-fuzz:master"
SERVICE_NAME = "transaction-spammer"

def launch_transaction_spammer(plan, prefunded_addresses, el_client_context, tx_spammer_params):
Expand Down

0 comments on commit 7e82aff

Please sign in to comment.