-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: container ux #186
fix: container ux #186
Conversation
Codecov ReportAttention: Patch coverage is
@@ Coverage Diff @@
## main #186 +/- ##
==========================================
+ Coverage 50.46% 55.97% +5.50%
==========================================
Files 33 33
Lines 2905 3398 +493
Branches 2905 3398 +493
==========================================
+ Hits 1466 1902 +436
+ Misses 1215 1213 -2
- Partials 224 283 +59
|
87008bc
to
61adbd0
Compare
Polkadot binaries being downloaded when run within a Linux container on macOS with Apple Silicon.
Targets and components missing when using other pop commands in container.
4b45695
to
133d79d
Compare
Ensures that any additional status updates are output to the console rather than being lost. Examples are the cloning and downloading status updates.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great PR!
We will use this refactor to increase test coverage as a reference for the pop_contracts
crate.
docker
job to simply ensure the docker image builds. An additional issue should be opened up to ensure that all commands are tested on all platforms, including on the docker image. This may require publishing, but I dont think we are ready to publish a docker image yet.A general guide on manually testing as follows.
Overview
The following guide provides an overview on launching a local network, including a parachain generated from a template, within a container. Note that port accessibility from outside of the container still needs to be addressed, with suggested workarounds provided at the end. It is suggested to review these before starting with anything else to assess suitability.
Build and then run
pop
within a container interactively, optionally mounting a local directory to pop's cache within the container for reuse.docker build -t pop . docker run -it -v ./.cache:/root/.cache/pop --entrypoint bash pop
Then generate a parachain using
pop
, changing into the relevant directory once done:pop new parachain cd ./my-parachain
Before building the parachain, source the required binary dependencies for launching the local network by simply specifying the relevant network configuration file (e.g.
network.toml
). These binaries are typically those required to run the relay chain or any system parachains, but could also include other parachains in your solution beyond those which you are developing.You should be shown which binaries are missing and be prompted to source them automatically where possible, using the latest versions available when not explicitly specified using the command line arguments. See
pop up parachain --help
for more information.Now build the parachain binary and then finally launch the local network.