-
Notifications
You must be signed in to change notification settings - Fork 212
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
Update testing to use geth and parity clients #66
Conversation
Just as a note seems like it may be worth adding in account creation and password file creation if geth/parity have no accounts set up. Default dev account passwords would just be empty (or default to "password") to allow for simple password file creation. |
Woah! This looks really promising! Thanks so much for taking the time :)
|
Yeah that would make sense. I agree that it would be really important to add this to CI. Was thinking along the lines of use docker since it would be much easier to configure at run time. Going to be looking at some published images or perhaps building some and pushing those to docker hub. |
I have used official parity’s images in the past and work great. I think geth has images too. Regarding the CI, I don’t think we need to run coverage on parity and geth. We can do just a test with parity and geth and then coverage on the forked version of testrpc of solidity coverage. |
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.
This looks so good! Let me know when it can be tested :)
future-apps/fundraising/package.json
Outdated
@@ -3,7 +3,9 @@ | |||
"version": "1.0.0", | |||
"main": "index.js", | |||
"scripts": { | |||
"test": "truffle test", | |||
"test": "truffle test --network development", |
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.
No need to run tests on Fundraising for now
shared/test-helpers/testrpc.sh
Outdated
docker_start_parity() { | ||
check_docker | ||
# pull the most stable release of parity | ||
docker pull parity/parity:stable-release --chain dev |
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.
I think we should pin to specific geth and parity versions!
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.
I agree. Are you thinking about just using the most recent versions for right now?
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.
Yes!
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.
The purpose of this is to avoid random CI failures because a geth or parity update happened.
The current geth image that I am using only has a latest tag. Checking some other images for geth seems to have "outdated" tags Also is docker enabled on travis CI? If so I will update the CI file to use the dockerized tests and see if everything has worked. |
The
|
Added the dockerized tests to the travis CI file (More than likely going to fail all tests due to gas limit on dev net). Pinned the docker clients to use specific versions to limit the breaking of pipelines when the images are updated.
Payroll request payment
@cpurta Sorry for dragging this on forever; we never could find time to prioritize this given other efforts. We're consolidating our test tooling and etc. to be more robust against real/ganache chains, so hopefully adding tests against a real node in the future will be much, much easier than where we were in 2018. For now though, let's consider these contracts to be well tested given their reliability on mainnet over the last year and a half :). |
Allow for coverage tests to use either a running geth instance or parity instance. This allows for more robust testing against private development networks.
Will resolve #64 when completed.
All apps are currently configured to use the development network. Based on the truffle-config.js in the aragon-core repo it will cause tests to use the ganache-cli testrpc. We can then later update that config to have the development network point to a specific instance of geth or parity preferably locally.