diff --git a/.github/tests/external-l1/ethereum.yaml b/.github/tests/external-l1/ethereum.yaml index f098a522..a268d6ea 100644 --- a/.github/tests/external-l1/ethereum.yaml +++ b/.github/tests/external-l1/ethereum.yaml @@ -1,13 +1,16 @@ +participants: + - el_type: geth + cl_type: teku network_params: - preset: minimal - genesis_delay: 5 - additional_preloaded_contracts: ' - { - "0x4e59b44847b379578588920cA78FbF26c0B4956C": { - "balance": "0ETH", - "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe03601600081602082378035828234f58015156039578182fd5b8082525050506014600cf3", - "storage": {}, - "nonce": "1" - } + preset: minimal + genesis_delay: 5 + additional_preloaded_contracts: ' + { + "0x4e59b44847b379578588920cA78FbF26c0B4956C": { + "balance": "0ETH", + "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe03601600081602082378035828234f58015156039578182fd5b8082525050506014600cf3", + "storage": {}, + "nonce": "1" } - ' + } + ' diff --git a/.github/tests/external-l1/optimism.yaml b/.github/tests/external-l1/optimism.yaml index 9aa8f8bf..1cfe78df 100644 --- a/.github/tests/external-l1/optimism.yaml +++ b/.github/tests/external-l1/optimism.yaml @@ -1,7 +1,7 @@ external_l1_network_params: network_id: "3151908" rpc_kind: standard - el_rpc_url: http://el-1-geth-lighthouse:8545 - el_ws_url: ws://el-1-geth-lighthouse:8546 - cl_rpc_url: http://cl-1-lighthouse-geth:4000 + el_rpc_url: http://el-1-geth-teku:8545 + el_ws_url: ws://el-1-geth-teku:8546 + cl_rpc_url: http://cl-1-teku-geth:4000 priv_key: "0xbcdf20249abf0ed6d944c0288fad489e33f66b3960d9e6229c1cd214ed3bbe31" diff --git a/.github/tests/interop.yaml b/.github/tests/interop.yaml index fcbded3c..1239d29a 100644 --- a/.github/tests/interop.yaml +++ b/.github/tests/interop.yaml @@ -22,16 +22,3 @@ optimism_package: holocene_time_offset: 0 interop_time_offset: 0 fund_dev_accounts: true -ethereum_package: - network_params: - preset: minimal - genesis_delay: 5 - additional_preloaded_contracts: | - { - "0x4e59b44847b379578588920cA78FbF26c0B4956C": { - "balance": "0ETH", - "code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe03601600081602082378035828234f58015156039578182fd5b8082525050506014600cf3", - "storage": {}, - "nonce": "1" - } - } diff --git a/.github/tests/single_l2.yaml b/.github/tests/single_l2.yaml index 4ba8c491..3d10586c 100644 --- a/.github/tests/single_l2.yaml +++ b/.github/tests/single_l2.yaml @@ -2,7 +2,3 @@ optimism_package: chains: - participants: - count: 2 -ethereum_package: - participants: - - el_type: geth - cl_type: teku \ No newline at end of file diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index d6b27a96..7d982536 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -2,7 +2,7 @@ name: Nightly test Workflow on: schedule: - - cron: "0 2 * * *" # This schedules the workflow to run at 02:00 UTC every day + - cron: "0 2 * * *" # Runs at 02:00 UTC daily workflow_dispatch: jobs: @@ -15,12 +15,14 @@ jobs: - id: set-matrix # List all yaml files in the .github/tests directory, except for the k8s.yaml file run: echo "matrix=$(ls ./.github/tests/*.yaml | grep -vE 'k8s.yaml$' | jq -R -s -c 'split("\n")[:-1]')" >> $GITHUB_OUTPUT + run_with_args: needs: list-yamls strategy: matrix: - file_name: ${{ fromJson(needs.list-yamls.outputs.matrix) }} + file_name: ${{ fromJson(needs.list-yamls.outputs.matrix) }} runs-on: ubuntu-latest + continue-on-error: true # Prevent the whole job from failing due to one test failure steps: - name: Checkout Repository uses: actions/checkout@v4 @@ -33,12 +35,14 @@ jobs: kurtosis analytics disable - name: Run Starlark + id: test_execution run: | if [ "${{ matrix.file_name }}" != "./.github/tests/mix-with-tools-mev.yaml" ]; then - kurtosis run ${{ github.workspace }} --verbosity detailed --args-file ${{ matrix.file_name }} + kurtosis run ${{ github.workspace }} --verbosity detailed --args-file ${{ matrix.file_name }} || echo "TEST_FAILED=true" >> $GITHUB_ENV else echo "Skipping ./.github/tests/mix-with-tools-mev.yaml" fi + continue-on-error: true # Don't fail the entire job - name: Check if Discord Webhook is Set id: check_discord_webhook @@ -57,10 +61,11 @@ jobs: env: DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }} with: - args: "The nightly test for ${{matrix.file_name}} on optimism-package has failed find it here ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" + args: "The nightly test for ${{ matrix.file_name }} on optimism-package has failed. Find it here: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" run_with_external_l1_args: runs-on: ubuntu-latest + continue-on-error: true # Ensure failure here doesn't stop other jobs steps: - name: Checkout Repository uses: actions/checkout@v4 @@ -71,10 +76,10 @@ jobs: sudo apt update sudo apt install kurtosis-cli kurtosis analytics disable - + - name: Deploy L1 run: kurtosis run --enclave test --args-file ./.github/tests/external-l1/ethereum.yaml github.com/ethpandaops/ethereum-package - + - name: Run Starlark run: | kurtosis run --enclave test --verbosity detailed --args-file ./.github/tests/external-l1/optimism.yaml ${{ github.workspace }} diff --git a/main.star b/main.star index a6468eae..acc5ae6f 100644 --- a/main.star +++ b/main.star @@ -17,7 +17,7 @@ ethereum_package_static_files = import_module( ) -def run(plan, args): +def run(plan, args={}): """Deploy Optimism L2s on an Ethereum L1. Args: @@ -39,9 +39,7 @@ def run(plan, args): # need to do a raw get here in case only optimism_package is provided. # .get will return None if the key is in the config with a None value. - optimism_args = ( - args.get("optimism_package") or input_parser.default_optimism_params() - ) + optimism_args = args.get("optimism_package") or {} optimism_args_with_right_defaults = input_parser.input_parser(plan, optimism_args) global_tolerations = optimism_args_with_right_defaults.global_tolerations global_node_selectors = optimism_args_with_right_defaults.global_node_selectors diff --git a/src/cl/hildr/hildr_launcher.star b/src/cl/hildr/hildr_launcher.star index 972891a4..989599c9 100644 --- a/src/cl/hildr/hildr_launcher.star +++ b/src/cl/hildr/hildr_launcher.star @@ -161,7 +161,7 @@ def get_beacon_config( cmd = [ "--devnet", - "--log.level=" + log_level, + "--log-level=" + log_level, "--jwt-file=" + ethereum_package_constants.JWT_MOUNT_PATH_ON_CONTAINER, "--l1-beacon-url={0}".format(l1_config_env_vars["CL_RPC_URL"]), "--l1-rpc-url={0}".format(l1_config_env_vars["L1_RPC_URL"]),