13.06.2017 Views

Whitepaper - Ethereum Classic With Cover

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Ethereum</strong> <strong>Classic</strong> Documentation, Release 0.1<br />

• project-build - Used in all the PR projects.<br />

• project-test - Used in all the PR projects.<br />

• pullrequest_parser - Used in all the PR projects.<br />

• solidity-emscripten-publisher - Used in solidity-emscripten.<br />

Bob does not know what these Jenkins targets are. They may be obsolete.<br />

• code-coverage-run<br />

We have been making a conscious effort to move our automation scripts into Git from Jenkins to reduce the<br />

“voodoo factor” in our automation. It is still a work in progress, but here are some key scripts which our automation<br />

uses:<br />

• homebrew/prepare_receipt.sh - Build for Homebrew<br />

• scripts/build_emscripten.sh - Build Emscripten binaries (for browser-solidity)<br />

• scripts/ethbinaries.sh - Build Windows and OS X binaries<br />

• scripts/ethbuild.sh - Build code (all platforms)<br />

• scripts/ethtests.sh - Run tests (all platforms)<br />

• scripts/ppabuild.sh - Build bundle for PPAs<br />

But we still have some scripts which are orphaned within Jenkins:<br />

• Create ZIP of Eth in Windows powershell - Used to make win_eth.zip<br />

• github_issue_mover.py - Script used to match move issues from cpp-ethereum to webthree-umbrella repo<br />

Setting up a new Jenkins slave This is a nightmare process. Here’s how to add an OS X slave. The process for<br />

other platforms will vary, but we’ve not had to do it yet.<br />

• Install appropriate operating system (Bob had to use his own Apple login)<br />

• Install the latest xcode from the Mac Store<br />

• Install Homebrew<br />

– say yes to xcode select license<br />

– brew update<br />

– brew upgrade<br />

– install pre-requisites (http://www.ethdocs.org/en/latest/ethereum-clients/cpp-ethereum/buildingfrom-source/osx.html)<br />

– install Ruby<br />

* See https://github.com/rbenv/rbenv#homebrew-on-mac-os-x<br />

* brew install rbenv<br />

* rbenv init<br />

* rbenv install 1.9.3-p551<br />

* Add eval “$(rbenv init -)” to ~/.bash_profile:<br />

– Connect the slave using Java web-start (have to lower security settings)<br />

– Cut-and-paste PATH from the machine into the Configure field for the node in Jenkins:<br />

* Example: /Users/administrator/.rbenv/shims:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin<br />

1.2. <strong>Ethereum</strong> Clients 41

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!