-
Notifications
You must be signed in to change notification settings - Fork 89
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
Migrate Jenkins tests to 0.10.x Bitcoin Core / Omni Core #73
Comments
If the above list is correct and complete, it should take less than an hour to make the changes and maybe an hour or so to run the tests and verify that they work correctly. Update: Item (1) above makes things more complicated and invalidates the "couple of hours" estimate. |
I was wondering for some time: what's the point of this? As far as I can see, this job isn't used at all.
You should clear the state data, ideally by manually removing all
This is unfortunally correct. Which version is going to be used for mainnet consensus tests? Both?
How are the build dependencies handled? There are two ways:
The later is probably the preferred route, as those dependencies are updated from time to time, but I'm not 100 % sure, how it works. But that said, I've managed to use it via Circle CI and the configuration file could serve as blueprint: circle.yml I assume we probably want to build with QT (=> no As long as |
This job can be manually run to pull Bitcoin Core from upstream bitcoin/bitcoin and build it. It will then manually run the This allows us to:
The test scripts currently do this with a
It will have to be 0.10.x. (There is only room for one blockchain on the current Jenkins server) There should be no differences in main net consensus even with DEX Phase 2 code, because it won't activate till a specific block, right? We will lose the ability to use Jenkins to test consensus between various deployments of Master Core 0.0.9. I don't think that's too big of an issue now that 0.0.9 is stable and so are the Omniwallet and OmniChest webs that use it. If we need to run consensus tests between various 0.0.9 implementations we can use the command-line tools.
I hadn't thought about that. That complicates things a little. I'll update the task list in the initial comment to reflect that. |
It's a different story for mainnet tests though: a full scan/parsing of transactions takes about an hour, so this should only be done very rarely, and we also shouldn't clear the blockchain data. I mentioned it mostly in the context of the migration from 0.0.8 to 0.0.9.
Is it still possible to test (local) Omni Core 0.0.10 against (remote) 0.0.9, e.g. via OmniChest or OmniWallet?
Actually not that much. The external packages can be installed once, and the depends dir created as well:
And in a nutshell, the current script:
... could very likely be replaced by:
Further, the artifacts to archive:
... should be replaced by:
... and maybe I'm not sure, what the best way is to handle the different file names. They could be renamed by Jenkins to match those of 0.0.9, or new scripts with updated file names could created. It won't be |
Yes -- as long as there are no consensus-altering changes in 0.0.10. |
@dexX7, If I install the external packages will that break the build on the 0.0.9 branch? |
... builds the dependencies, but doesn't install them, and they should be available in
... then instructs Bitcoin/Omni Core to use them. Was this what you were referring to by "external packages"? |
OK, https://ci.omni.foundation has been rebuilt from scratch. The new server has the following improvements:
|
Using a self-signed certificate is a nice idea ( Two quick notes:
|
I wonder if there's an easy way to create a getter self-signed certificate that eliminates the Chrome warning. I guess the BASH scripts that start the tests should be updated for the names/locations of the log files. @dexX7 can you make a pull request with the appropriate changes? The mainnet consensus tests were failing because blockchain.info was down. It was running for almost 30 hours because I let the test download the blockchain starting from block 0. I'm currently running a blockchain sync from the command-line (since I didn't want to wait for blockchain.info to come back up.) It's at block 350000. So hopefully tomorrow morning, it will be synced and I can start a mainnet consensus test. |
This involves at least the following tasks:
datadir
asomnicore-stable
and we can't share a blockchaindatadir
between 0.0.9 and 0.10.0)The text was updated successfully, but these errors were encountered: