Skip to content

Use ganache server (instead of provider) #402

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

Merged
merged 1 commit into from
Sep 16, 2019

Conversation

cgewecke
Copy link
Member

@cgewecke cgewecke commented Sep 16, 2019

Begins using ganache.server (instead of provider) so other processes can connect to the coverage run. This should make it possible to use the Oraclize/Provable testing client, as well as simplify Zeppelin's installation of 0.7.0. (See OZ 1918)

  • Also adds support for --network <name> cli flag and tests for all the edge cases introduced by that.
  • Seems to take ~5-7 minutes off the zeppelin run (2nd time have seen this), suggesting that there is a big perf difference between the docker (zeppelin's CI) and linux environments (CircleCI machine) for provider.

@codecov-io
Copy link

Codecov Report

Merging #402 into truffle-plugin will increase coverage by 0.71%.
The diff coverage is 97.26%.

Impacted file tree graph

@@                Coverage Diff                 @@
##           truffle-plugin     #402      +/-   ##
==================================================
+ Coverage              96%   96.72%   +0.71%     
==================================================
  Files                  11       11              
  Lines                 576      610      +34     
==================================================
+ Hits                  553      590      +37     
+ Misses                 23       20       -3
Impacted Files Coverage Δ
dist/plugin-assets/truffle.ui.js 100% <ø> (ø) ⬆️
lib/ui.js 100% <ø> (ø) ⬆️
lib/collector.js 100% <100%> (ø) ⬆️
dist/truffle.plugin.js 100% <100%> (ø) ⬆️
lib/app.js 96.15% <91.66%> (+2.23%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 77628b0...04149dc. Read the comment docs.

@cgewecke cgewecke merged commit 0b8c303 into truffle-plugin Sep 16, 2019
@cgewecke cgewecke deleted the add/ganache-server branch September 16, 2019 10:48
@yxliang01
Copy link
Contributor

@cgewecke It's interesting that you observe huge performance difference between dockerized environment and without docker environment. May I know what the reason you think is?

@cgewecke
Copy link
Member Author

cgewecke commented Sep 16, 2019

@yxliang01 I am very surprised by this myself.

There are additional notes on this topic at:

The performance difference noted above can be seen in the comparison of these three jobs:

  • Zeppelin w/ in-process provider (docker: circleci/node:10): 11:07
  • Zeppelin w/ in-process provider (ubuntu: circle/machine): 23:04* and 19:10*
  • Zeppelin w/ in-process server (ubuntu: circle/machine): 14:40* and 15:28*

* Using the raw unix time numbers for the last two items (e.g minus the installation times) so the comparison with Zeppelin's docker is the same.

Circle's docs on the default machine specs. I've also seen ganache.provider run much slower than expected on Travis so suspect those two are the same kind of environments.

@yxliang01 Do you have any thoughts about this? If you think of a reason or find out please lmk.

@yxliang01
Copy link
Contributor

Sounds very interesting. I'll have a look and share my thoughts if any time using my free time later :)

cgewecke added a commit that referenced this pull request Sep 25, 2019
+ Support --network <name> cli flag
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants