rollchains / spawn

The best development platform for building custom modular Cosmos-SDK blockchains
Apache License 2.0
67 stars 12 forks source link

validate: chain creation & modules #86

Open Reecepbcups opened 4 months ago

Reecepbcups commented 4 months ago

Unsure what gh can handle. Manual process for releases is most scaleable. Biggest pitfalls should be in internal CI? (unless we can fit all then cool)

Update v0.50.* in the README to the new tag name before tagging!

make sure README works as expected manually (i.e. clear wallet keys, etc)

Approach 0 - Manual Checks Privately

Should write a script / document for this. May be the best solution for now (do off the branch before tagging)

# run the cmd, and in vscode press publish branch (auto creates private/public repo for you).
# maybe also run a go test / docker build here?

# standard
spawn new base --bypass-prompt --bech32=abcd --bin=aaaaad --denom=uxyz --org=strangelove && code base/

# nothing at all, just cosmos
spawn new minimal --disable=proof-of-authority,tokenfactory,globalfee,ibc-packetforward,cosmwasm,ignite,wasm-light-client --bech32=abcd --bin=aaaaad --denom=uxyz --org=strangelove && code minimal/

# only cosmwasm
spawn new mycw --disable=tokenfactory,poa,globalfee,ibc-packetforward --bech32=abcd --bin=aaaaad --denom=uxyz --org=reecepbcups && code mycw/

# wasmlc no wasm
spawn new mywlc --disable=tokenfactory,poa,globalfee,ibc-packetforward,cosmwasm && code mywlc/

# TODO: ibc-ratelimit, ics

# mixes
spawn new randmix --disable=globalfee,wasmlc,ignite && cd randmix && go test ./... && cd .. && rm -rf randmix/
spawn new randmix --disable=wasmlc,tokenfactory && cd randmix && go test ./... && cd .. && rm -rf randmix/
spawn new randmix --disable=wasmlc,wasm && cd randmix && go test ./... && cd .. && rm -rf randmix/
spawn new randmix --disable=poa,globalfee && cd randmix && go test ./... && cd .. && rm -rf randmix/
spawn new randmix --disable=poa,globalfee && cd randmix && go test ./... && cd .. && rm -rf randmix/
spawn new randmix --disable=tokenfactory,poa,packetforward && cd randmix && go test ./... && cd .. && rm -rf randmix/
spawn new randmix --disable=packetforward,cosmwasm,ignite,ignite && cd randmix && go test ./... && cd .. && rm -rf randmix/
spawn new randmix --disable=cosmwasm,cosmwasm,wasm-light-client && cd randmix && go test ./... && cd .. && rm -rf randmix/

# validate ictest testnets with base install, and one with all (make testnet)

Approach 1

Chain 1:

Chain2: (opposite of what is the default). Keep all default flags

Approach 2

Approach 3

Reecepbcups commented 3 months ago

should really make a doc for future integrations too. showcase exact steps to test

also add new module generation (maybe do that in this repos CI automatically, then go test)

Reecepbcups commented 2 months ago

https://github.com/rollchains/spawn/pull/133

Reecepbcups commented 2 months ago

multi-chain creation validation (mass matrix, ensure it go test / source is valid parsed w/ go std lib). Feeling the std lib route for CI, but

Will still require the github new repo pushes for now. Would be nice to have a gh CLI cmd to delete those repos quickly

Reecepbcups commented 2 months ago

Run other commands after new chain, before unit test (i.e. add module)

tried to do in current spawn-e2e in the middle and it did not like the make proto-gen creation. So needs to be its own UI

Reecepbcups commented 1 month ago

modules is being handled in #143, but we should also write in custom proto & verify it moves properly etc

Reecepbcups commented 1 month ago

https://github.com/rollchains/spawn/pull/143#discussion_r1619583860

Reecepbcups commented 1 month ago

update get-localic make file (or auto pull latest based on IBC version)

Validate POA & ICS both run with make testnet

Reecepbcups commented 3 weeks ago

add ictest w/ ibc checks for POA, POS, and ICS. May require self hosted runners. Validation is needing to get exponential per push for faster development

Reecepbcups commented 1 week ago

simulte cobra commands & validate modules / consensus is set as expected