[DO NOT MERGE] Kurtosis-backed E2E - #17045
Draft
syjn99 wants to merge 40 commits into
Draft
Conversation
Drive the minimal Kurtosis E2E verdict from Assertoor. Adds the Assertoor REST client, the embedded-playbook register/schedule runner, the result poller, and Assertoor API types; wires them into KurtosisWrapper. Renames the default config and test to minimal. Ships the baseline liveness playbooks: network-health-monitor, validators-active, validators-sync-participation, metrics. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Embed four more Assertoor checks: block-graffiti, fee-recipient, blobs-included, and blob-limits. Config they rely on already lives in minimal.yaml; this only ships the playbooks and extends embedsrcs. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Embed per-fork transition checks (altair through gloas) that assert the chain crosses each fork boundary. Fork epochs are already configured in minimal.yaml; this only ships the playbooks and extends embedsrcs. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Embed the state-changing operation checks: deposits, voluntary-exits, withdrawals, and slashings. Supporting config and validators-active tweaks already live in commit 1; this only ships the playbooks and extends embedsrcs. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add late-joining-node coverage: declare two skip_start nodes in minimal.yaml, start them mid-run via a new KurtosisWrapper helper, and assert they catch up through the beacon-chain-sync and checkpoint-sync playbooks. Also add the missing "slices" import the test relies on. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Add a shared runStarlarkScript helper (starlark.go). - Split common Kurtosis test setup into kurtosis_e2e_helper.go. - Bound enclave teardown with its own 1m context. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… covered by existing Kurtosis-backed test
…nt (stable) VC. We can simulate this with Kurtosis for sure
Pin assertoor for the attestation fix, spamoor for integer parsing, and buildoor for builder API fixes.
Use custom JS logic for sync participation checks, avoid prefunding withdrawal credential targets, and raise blob spam prefunding.
Register one-shot playbooks, schedule runs with per-event config, and wait for steady-state and one-shot runs concurrently.
4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Note
Most of the diffs are originated from bumping
x/tools: Seethird_party/*.patchdiffs. +23,268, -14,601.Actively working branch on #15320. See the issue for migration plan.
Index
How to run
Important
Ensure your Kurtosis engine is alive. Otherwise tests will fail.
Run the test suites like:
If you want to target only a specific test suite:
bazel test //testing/endtoend:*includes following:beacon-chainandvalidator) If you run scenario tests with custom JSON-RPC snooper, it will also build afaultproxyimage.gcr.io/offchainlabs/prysm/beacon-chain:latestminimal). Destroy if the enclave is still running for idempotency.epochsToRunis passed, the devnet and enclave is destroyed. If one of assertoor tests fails, it will return early.Tooling
This branch pins the exact commit hash for testing tools from ethPandaOps, which I'd submitted PRs to fix the issues while I was testing in my local environment:
ethpandaops/assertoor:master-c6f6ac6ethpandaops/buildoor:main-97fc876ethpandaops/spamoor:master-c23ad38