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

add playbook to run execution spec tests #40

Merged
merged 4 commits into from
Sep 16, 2024
Merged

Conversation

skylenet
Copy link
Member

@skylenet skylenet commented Sep 13, 2024

  • Added some dependencies on the dockerfiles, so that we can run the execution spec tests
  • Added a playbook to run the tests

Tested on the electra-support branch like this:

kurtosis.devnet.config.yaml:

participants_matrix:
  el:
    - el_type: erigon
      el_image: ethpandaops/erigon:docker_pectra_temp
    - el_type: reth
      el_image: ethpandaops/reth:onbjerg-devnet-3
  cl:
    - cl_type: nimbus
      cl_image: ethpandaops/nimbus-eth2:unstable
    - cl_type: lighthouse
      cl_image: ethpandaops/lighthouse:unstable
    - cl_type: prysm
      cl_image: ethpandaops/prysm-beacon-chain:develop
      vc_image: ethpandaops/prysm-validator:develop
network_params:
  electra_fork_epoch: 1
  min_validator_withdrawability_delay: 1
  shard_committee_period: 1
  churn_limit_quotient: 16
additional_services:
  - dora
  - assertoor
  - blockscout

custom-assertoor.devnet.config.yaml:

web:
  server:
    host: "0.0.0.0"
    port: 8080
  frontend:
    enabled: true
    debug: true
    pprof: true
  api:
    enabled: true

validatorNames:
  inventoryYaml: "${DEVNET_DIR}/generated-validator-ranges.yaml"

tests:
  - name: "Run execution spec tests"
    tasks:
      - name: run_shell
        title: Install dependencies
        config:
          shell: bash
          command: |
            dpkg --add-architecture amd64
            apt-get update
            apt-get install -y build-essential python3 python3-pip
            rm /usr/lib/python3*/EXTERNALLY-MANAGED

      - name: check_clients_are_healthy
        title: "Check if at least one client is ready"
        id: clientCheck
        clientPattern: "1-erigon-nimbus"
        timeout: 5m
        config:
          minClientCount: 1

      - name: get_consensus_specs
        id: consensusSpecs

      - name: run_external_tasks
        title: "Run execution spec tests: eip7702_set_code_tx"
        config:
          testFile: ./playbooks/dev/execution-spec-tests-execute.yaml
          testConfig:
            gitRepo: https://github.com/ethereum/execution-spec-tests.git
            gitBranch: fill-execute-modes
            testPath: ./tests/prague/eip7702_set_code_tx/test_set_code_txs.py::test_self_sponsored_set_code
            seedAmount: "100000000000000000000"
            extraFlags: "--fork=Prague -k=fork_Prague-transaction_post-stop-tx_value_0"
          testConfigVars:
            rpcEndpoint: "tasks.clientCheck.outputs.goodClients[0].elRpcUrl"
            chainID: "tasks.consensusSpecs.outputs.specs.DEPOSIT_CHAIN_ID"
            privateKey: "walletPrivkey"

@skylenet skylenet requested a review from pk910 September 13, 2024 14:09
@skylenet skylenet merged commit d53325e into master Sep 16, 2024
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants