Skip to content

Creating solo-docker-environment project #201

@hendrikebbers

Description

@hendrikebbers

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    project proposalProposal for adding a project to Hiero

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions