sbtc-developer-release icon indicating copy to clipboard operation
sbtc-developer-release copied to clipboard

Split devenv into different node profiles.

Open CAGS295 opened this issue 1 year ago • 5 comments

Summary of Changes

There's been some debate about the scope of devenvs services. I'm exploring how to enable multiple 'devenv' profiles to cover a wider range of applications (core dev, third-party dev, testing). The immediate need is a minimal node with a local Romeo instance. I added a minimal profile with (bitcoind, stacks + RPC, electrs) for local romeo development.

  • Split the docker-compose file. A new file contains fewer services meant for sbtc developers that spin Romeo locally.
  • Refactor up/down commands to support upping and downing 'min'/'full' nodes.
  • Sets precedence for a dedicated 'node profile' for integration tests.

Testing

Risks

Didn't fully test all util scripts. I don't expect any big complications, though.

How were these changes tested?

manual runs.

./up.sh 
 ./up.sh min --help
 ./up.sh min min
 ./up.sh min full

 ./up.sh full
 ./down.sh full

 ./up.sh min
 ./down.sh min

 ./up.sh full
 ./up.sh min
 ./down.sh full
 ./up.sh min
 ./down.sh full
 ./up.sh full

 ./up.sh full
 ./utils/mine_btc.sh 10

What future testing should occur?

Checklist:

  • [X] My code follows the style guidelines of this project
  • [X] I have performed a self-review of my code
  • [X] I have commented my code, particularly in hard-to-understand areas
  • [ ] I have made corresponding changes to the documentation
  • [X] My changes generate no new warnings
  • [ ] I have added tests that prove my fix is effective or that my feature works
  • [ ] New and existing unit tests pass locally with my changes
  • [ ] Any dependent changes have been merged and published in downstream modules

CAGS295 avatar Oct 19 '23 20:10 CAGS295

Codecov Report

Merging #307 (6c07ff7) into main (c1b5abd) will increase coverage by 1.62%. Report is 8 commits behind head on main. The diff coverage is n/a.

:exclamation: Current head 6c07ff7 differs from pull request most recent head 89516e2. Consider uploading reports for the commit 89516e2 to get more accurate results

@@            Coverage Diff             @@
##             main     #307      +/-   ##
==========================================
+ Coverage   41.49%   43.12%   +1.62%     
==========================================
  Files          40       45       +5     
  Lines        5111     5359     +248     
  Branches        0       47      +47     
==========================================
+ Hits         2121     2311     +190     
- Misses       2990     3047      +57     
- Partials        0        1       +1     
Flag Coverage Δ
unittests 76.61% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

see 5 files with indirect coverage changes

:mega: Codecov offers a browser extension for seamless coverage viewing on GitHub. Try it in Chrome or Firefox today!

codecov[bot] avatar Oct 19 '23 20:10 codecov[bot]

Partially addresses #282. We would still need to revisit utils in another PR.

CAGS295 avatar Oct 20 '23 18:10 CAGS295

The goal should probably be that we can run several signers as defined here: https://github.com/stacks-network/stacks-blockchain/blob/next/stacks-signer/README.md#generate-files

friedger avatar Oct 27 '23 20:10 friedger

The goal should probably be that we can run several signers as defined here: https://github.com/stacks-network/stacks-blockchain/blob/next/stacks-signer/README.md#generate-files

Thanks for the heads up. My immediate goal is to unblock the integration pipeline. Adding support for a 'signer ring' profile sounds good too. Once we have more details, I can help with that if needed.

I can see so far a few different use cases.

  1. full-node for third party users exploring sBTC.
  2. min for dev with a local romeo server.
  3. integration running services required for testing only.
  4. signer-ring for signing rounds.

CAGS295 avatar Oct 27 '23 22:10 CAGS295

CLA assistant check
All committers have signed the CLA.

CLAassistant avatar Nov 16 '23 06:11 CLAassistant