hyperweb-io / hyperweb-io/starship

examples: cw-orchestrator using starship

Open
#88 7 comments 1 reaction 0 assignees View on GitHub
enhancement
Dominant language
TypeScript
Stars
77
Forks
39
PR merge metrics
No merged PRs in 30d

Description

## Overview
Currently `AbstractSDK/cw-orchestrator` is using a fork of interchain tests with a mix of golang and rust coupled with docker.
We create an example in which we are able to perform the various e2e tests

## Proposal
Inorder to achive this we have to do the following

### On Starship: Rust Client
Create a rust client similar to the [go client](https://github.com/cosmology-tech/starship/tree/main/clients/go/client): This client will be responsible for initial connection with the starship infra running from a config file.

The client will do the following:
* Have information about all the chains running, relayers etc
* Initial keys/mnemonics with the balances
* Handy util functions to: send tokens, ibc tokens, contract deployment (?), contract store (?) etc

### On `cw-orchestrator`: Starship directory
First we create a starship dir in root, with the
* config file (specifying the infra we want to setup)
* Makefile with handy commands to spin up starship infra, and to connect to it
* Test cases, which will import the rust client created above, and write idempotent test cases

Bonus:
* Add CI/CD using `starship-action` to run the whole testing setup and test cases (maybe in a k8s cluster)

## Workflow
Once we have the components the tests would look something like:
```bash
# Spin up the infra
make start

# Run the tests, should be able to run multiple times
cargo test

# Stop everything
make stop
```

The setup is such that there is some initial setup time, so it would make sense to write test cases itself such that they can be run multiple times against the same infra setup.

Note: In CI/CD we spinup the system from scratch.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the existing Starship Go client in clients/go/client and the cw-orchestrator integration described in the issue. Define the Rust client, starship configuration, Makefile commands, and repeatable test cases before implementing them. The proposed workflow is make start, cargo test, and make stop; completion includes the end-to-end tests, with starship-action CI as a bonus.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, go, kubernetes, rust
Domain
devops, infrastructure, testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.