Commit Graph

115 Commits

Author SHA1 Message Date
Marios Christou 7fb3c9a00a Rename ZombienetConfiguration to PolkadotParachainConfiguration and update related usage 2025-10-06 14:18:31 +03:00
Marios Christou bdff2902c2 fmt 2025-10-06 11:37:38 +03:00
Marios Christou 8ba3a0627c Refactor shared_node to return static reference and add shared_state for context access 2025-10-06 11:24:17 +03:00
Marios Christou 97d45258ca Fix conficts with main 2025-10-06 09:58:04 +03:00
Marios Christou bd5a901c65 Merge branch 'main' into support-zombienet 2025-10-06 08:54:07 +03:00
Marios Christou e80ff0db8b CI: Cache polkadot binaries and use them if available 2025-10-06 08:46:46 +03:00
Omar e5114d31dc Update compiler semaphore (#176) 2025-10-05 22:28:57 +00:00
Omar 74fdeb4a2e Core Benchmarking Infra (#175)
* Implement a solution for the pre-fund account limit

* Update the account pre-funding handling

* Fix the lighthouse node tracing issue

* refactor existing dt infra

* Implement the platform driver

* Wire up the cleaned up driver implementation

* Implement the core benchmarking components

* Remove some debug logging

* Fix issues in the benchmarks driver

* Implement a global concurrency limit on provider requests

* Update the concurrency limit

* Update the concurrency limit

* Cleanups

* Update the lighthouse ports

* Ignore certain tests

* Update the new geth test
2025-10-05 15:09:01 +00:00
Marios Christou 269e8cfe80 Refactor ZombieNode to cache provider using OnceCell 2025-10-03 16:26:17 +03:00
Marios Christou 2e3a81cdd3 Change names from ZombieNet to Zombienet and switch from Command to Process 2025-10-03 16:03:04 +03:00
Marios Christou 23c3da4956 Minor doc improvements 2025-09-30 15:42:50 +03:00
Marios Christou f61c354447 Fix unit test assertion 2025-09-30 14:43:52 +03:00
Marios Christou 483d56f28b CI - Fetch polkadot binaries from releases 2025-09-30 10:41:41 +03:00
Marios Christou b813dcad45 Add polkadot and parachain node to ci 2025-09-29 14:28:47 +03:00
Marios Christou 14d90ee4ea Clippy fix 2025-09-29 12:27:00 +03:00
Marios Christou aae9dca7cf fmt 2025-09-29 12:11:25 +03:00
Marios Christou c90e187436 Merge - Fix conficts with main 2025-09-29 12:03:00 +03:00
Marios Christou 8f5f4c03f0 Replace default transaction request in test 2025-09-29 11:59:53 +03:00
Marios Christou 9e3d65dcc0 fmt 2025-09-29 11:59:52 +03:00
Marios Christou 6f8dc7958e Add few comments 2025-09-29 11:59:50 +03:00
Marios Christou b457b84984 Add wourkaround to run tests 2025-09-29 11:59:47 +03:00
Marios Christou 7f944fbe56 Implement ZombienetPlatform and integrate zombie node with eth rpc 2025-09-29 11:59:44 +03:00
Marios Christou dd519a960a Spawn eth-rpc on top of collator node 2025-09-29 11:59:14 +03:00
Marios Christou aafd16314d Impl zombie node resolver && node for zombie node 2025-09-29 11:59:11 +03:00
Marios Christou 423e67cdef [WIP] Support substrate node in zombienet network 2025-09-29 11:59:07 +03:00
Marios Christou 538030eb0c Remove unused imports 2025-09-29 11:58:27 +03:00
Marios Christou 04d56da477 [WIP] - Impl EthereumNode for zombie node 2025-09-29 11:58:18 +03:00
Marios Christou e9fabd2634 Basic zombie node definition 2025-09-29 11:54:55 +03:00
Omar f9dc362c03 Lighthouse Node (#173)
* Add a lighthouse node implementation

* Implement production geth using kurtosis

* Connect the lighthouse node with the platforms

* Update the ci to include cargo fmt

* Add rustfmt to ci

* Add formatting component for macos

* Fix CI

* Add the cargo clippy component

* Install kurtosis in cli

* fix ci

* Skip lighthouse tests in MacOS in CI

* Increase the wait duration of kurtosis
2025-09-28 12:44:19 +00:00
Omar c2ba2cfed6 Cleanup Processes (#171)
* Clean up the process flow for nodes

* Cleanup some of the node tests to use shared nodes

* Commit dev-genesis
2025-09-24 02:47:36 +00:00
Omar 3dda739cef Add step paths (#163)
* Support repetitions in the tool

* Add support for account allocations

* Update the JSON schema

* Support virtual repeats

* Add a step path

* Update the schema
2025-09-22 03:53:16 +00:00
Omar 97e3f8bbff Support virtual repeats for benchmarks (#162)
* Support repetitions in the tool

* Add support for account allocations

* Update the JSON schema

* Support virtual repeats
2025-09-22 03:35:31 +00:00
Omar 7189361a58 Allow account allocations (#161)
* Support repetitions in the tool

* Add support for account allocations

* Update the JSON schema
2025-09-22 03:19:55 +00:00
Omar 9b700bfec2 Support repetitions in the tool (#160) 2025-09-22 03:03:59 +00:00
Omar 98b62d705f Make our traits object safe and implement the ReviveDevNodePolkaVMResolc target. (#159)
* Generate schema for the metadata file

* Groundwork for dyn traits

* Make the ethereum node trait object compatible

* Allow for compilers to be created in the dyn trait

* Add more identifiers to the platform

* Implement the dyn compiler trait for compilers

* Support the dyn compiler in the builder pattern

* Introduce a geth platform

* Provide a common node implementation for substrate chains

* Add all of the platforms that we support

* Add a way to convert platform identifier into a platform

* Replace infra with the dyn infra

* Remoe all references to leader and follower

* Remove the old traits

* Remove an un-needed dependency

* Update the default values for the platforms

* Final set of renames

* Update the default values of the cli

* Update tests
2025-09-19 21:59:28 +00:00
Omar 1a894f791a Generate schema for the metadata file (#158) 2025-09-08 16:52:57 +00:00
Omar c2526e48e7 Refactor the Global Configuration & Context (#157)
* Cleanup the config

* Update usage guides

* Update the run script

* Fix tests

* Use kitchensink in tests

* Use shared node more often in tests
2025-09-04 14:25:05 +00:00
Omar 7878f68c26 Better Compiler Interface & Shared Compiler Objects (#156)
* Add leader and follower node assignment to test

* Update the compilers interface

* Fix Cargo machete

* Add reporting back to the compilers

* Remove the static testing target from the report

* Uncomment instrument macro

* Switch to a for loop when reporting cases

* Update compilers to use interior caching

* Update tests stream func

* Fix tests
2025-08-28 15:03:45 +00:00
Omar 8b1afc36a3 Better errors in report (#155) 2025-08-26 15:35:19 +00:00
Omar 60328cd493 Add a Quick Run Script (#152)
* Add a quick run script

* Add more context to errors

* Fix the issue with corpus directory canonicalization

* Update the quick run script

* Edit the runner script

* Support specifying the path of the polkadot sdk
2025-08-25 21:03:28 +00:00
Omar eb264fcc7b feature/fix abi finding resolc (#154)
* Configure kitchensink to use devnode by default

* Update the kitchensink tests

* Fix the logic for finding the ABI in resolc

* Edit how CLI reporter prints
2025-08-25 20:47:29 +00:00
Omar 84b139d3b4 Configure kitchensink to use devnode by default (#153)
* Configure kitchensink to use devnode by default

* Update the kitchensink tests
2025-08-25 15:46:06 +00:00
Omar d93824d973 Updated Reporting Infrastructure (#151)
* Remove the old reporting infra

* Use the Test struct more in the code

* Implement the initial set of reporter events

* Add more runner events to the reporter and refine the structure

* Add reporting infra for reporting ignored tests

* Update report to use better map data structures

* Add case status information to the report

* Integrate the reporting infrastructure with the
CLI reporter used by the program.

* Include contract compilation information in report

* Cleanup report model

* Add information on the deployed contracts
2025-08-25 11:16:09 +00:00
Omar bec5a7e390 Increase Kitchensink maximum http connections (#148)
* Throttle the Kitchensink requests

* Increase max connections limit for kitchensink
2025-08-20 22:25:17 +00:00
Omar 85033cfead Update the readme (#145) 2025-08-19 17:41:26 +00:00
Omar 76d6a154c1 Fix concurrency issues (#142)
* Fix the OS FD error

* Cache the compiler versions

* Allow for auto display impl in declare wrapper type macro

* Better logging and fix concurrency issues

* Fix tests

* Format

* Make the code even more concurrent
2025-08-19 06:47:36 +00:00
Omar c58551803d Allow multiple files in corpus (#144) 2025-08-16 16:04:17 +00:00
Omar 185edcfad9 Cached compiler artifacts (#143)
* WIP compilation cache

* Implement a persistent compilation cache

* Correct the key and value encoding for the cache
2025-08-16 16:04:13 +00:00
James Wilson 09d56f5177 Redo how we parse and use modes (#125)
* WIP redo how we parse and use modes

* test expanding, too

* WIP integrate new Mode/ParsedMode into rest of code

* First pass integrated new mode bits

* fmt

* clippy

* Remove mode we no longer support from test metadata

* Address nits

* Add ability for compiler to opt out if it can't work with some Mode/version

* Elide viaIR input if compiler does not support it

* Improve test output a little; string modes and list ignored tests

* Move Mode to common crate

* constants.mod, and Display for CaseIdx to use it

* fmt

* Rename ModePipeline::E/Y

* Re-arrange Mode things; ParsedMode in format and Mode etc in common

* Move compile check to prepare_tests

* Remove now-unused deps

* clippy nits

* Update fallback tx weights to avoid out of gas errors

* Update kitchensink weights too and fmt

* Bump default geth timeout to 10s

* 30s timeout

* Improve geth stdout logging on failure

* fix line logging

* remove --networkid and arg, back to 5s timeout for geth
2025-08-16 11:38:17 +00:00
Omar a59e287fa1 Add a cached fs abstraction (#141) 2025-08-14 15:21:05 +00:00