-
Notifications
You must be signed in to change notification settings - Fork 6
Description
Today, the easiest way to run real integration tests for any SDK, library, or application based on Hiero is by using solo. Since solo depends on Kubernetes and other tooling, the setup on a local machine is quite complex.
With the hiero-solo-action project, we provide an easy way to set up all that within a GitHub Action. The project is already used in several of our SDKs today to run integration tests against a Hiero-based network directly in GitHub (Actions). Running integration tests in CI/CD is a significant step forward, but it doesn't solve the problem on local machines.
We (the hiero-solo-action maintainers) created an MVP for a solution that wraps the full setup of a Hiero-based network in Docker and provides a way to run a network in Docker. The key advantage of this workflow is that it requires only Docker on a local machine to establish a full network. The network can then be used to run any (integration) tests against it. Like with the GitHub Action, a user account is automatically created and can be used as an operator account for any tests.
Today, the MVP is developed in an internal folder of the GitHub Action repo: https://github.com/hiero-ledger/hiero-solo-action/tree/main/local
We propose creating a new repository, "hiero-solo-docker," alongside the "hiero-solo-action" repository, and defining "Hiero Test Infrastructure" as the sub-project that owns both repositories. The current maintainers/committers of the "hiero-solo-action" repository should become maintainers/committers of the sub-project.
Supporters of the project
Hendrik Ebbers (Hashgraph)
Georgi Stoykov (LimeChain)
Milan Wiercx van Rhijn (8Bees)
Jason Fabritz (BugBytes)
Vision of the project
We want to create an excellent developer experience when working with any Hiero based network. While developers can test any SDK, lib, tool or application today against Hedera Testnet we need more general approaches for automation (CI/CD) and offline support. Next to that a concrete network (as good as it is) should not be the only way to test generic Hiero functionallity. The "Hiero Test Infrastructure" will move all those topics forward by using workflows, tools and libraries that developers already know and often use today in their daily work. Writing and testing any code interacting with a Hiero-based network should not be harder than doing the same with a SQL-based database.