good morning!!!!

Skip to content
Snippets Groups Projects
Commit 9326d0a6 authored by Sven Ehlert's avatar Sven Ehlert
Browse files

Dockers for go, cpp

parent 74faa30a
Branches
Tags
No related merge requests found
......@@ -2,4 +2,4 @@
Testing is done in a Vagrant virtual machine
install vagrant, virtualbox, ansible, then do `vagrant up`. It should provison a basic machine. `vagrant ssh` to verify the machine is working as expected.
install vagrant, virtualbox, ansible, then do `vagrant up`. It should provison a basic machine. `vagrant ssh` to verify the machine is working as expected. `vagrant terminate` to reset machine to clean state.
......@@ -55,10 +55,12 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
# end
config.vm.provider "virtualbox" do |vb|
# Ubuntu / Virtualbox workaround.
# see http://askubuntu.com/questions/238040/how-do-i-fix-name-service-for-vagrant-client
config.vm.provider "virtualbox" do |vb|
vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
vb.customize ["modifyvm", :id, "--memory", "1024"]
end
#
......@@ -68,7 +70,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
# Ansible
config.vm.provision "ansible" do |ansible|
ansible.playbook = "host-config.yml"
ansible.playbook = "site.yml"
end
end
......
---
- name: Provision the operation system for buildslave
- name: Provision the operation system for tests
# testing
hosts: all
# live
# hosts: poc-8.ethdev.com
# hosts: TDB
roles:
- common
......@@ -9,6 +9,7 @@
apt: name={{ item }}
with_items:
- python-pip
- htop
- name: install python dependencies
sudo: true
......
# adjusted from https://github.com/ethereum/cpp-ethereum/blob/develop/docker/Dockerfile
FROM ubuntu:14.04
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update
RUN apt-get upgrade -y
# Ethereum dependencies
RUN apt-get install -qy build-essential g++-4.8 git cmake libboost-all-dev libcurl4-openssl-dev wget
RUN apt-get install -qy automake unzip libgmp-dev libtool libleveldb-dev yasm libminiupnpc-dev libreadline-dev scons
RUN apt-get install -qy libjsoncpp-dev libargtable2-dev
# NCurses based GUI (not optional though for a succesful compilation, see https://github.com/ethereum/cpp-ethereum/issues/452 )
RUN apt-get install -qy libncurses5-dev
# Qt-based GUI
# RUN apt-get install -qy qtbase5-dev qt5-default qtdeclarative5-dev libqt5webkit5-dev
# Ethereum PPA
RUN apt-get install -qy software-properties-common
RUN add-apt-repository ppa:ethereum/ethereum
RUN apt-get update
RUN apt-get install -qy libcryptopp-dev libjson-rpc-cpp-dev
# Build Ethereum (HEADLESS)
RUN git clone --depth=1 --branch develop https://github.com/ethereum/cpp-ethereum
RUN mkdir -p cpp-ethereum/build
RUN cd cpp-ethereum/build && cmake .. -DCMAKE_BUILD_TYPE=Release -DHEADLESS=1 && make -j $(cat /proc/cpuinfo | grep processor | wc -l) && make install
RUN ldconfig
ENTRYPOINT ["/cpp-ethereum/build/test/createRandomTest"]
......@@ -16,7 +16,7 @@ RUN apt-get install -y git mercurial build-essential software-properties-common
## Build and install Go
RUN hg clone -u release https://code.google.com/p/go
RUN cd go && hg update go1.4
RUN cd go/src && ./all.bash && go version
RUN cd go/src && ./make.bash && go version
## Install GUI dependencies
RUN add-apt-repository ppa:ubuntu-sdk-team/ppa -y
......
#!/bin/bash
# create random virtual machine test
#cd ~/software/Ethereum/pyethereum (python has local dependencies so only works from within the directory)
while [ 1 ]
do
TEST="$(~/software/Ethereum/cpp-ethereum/build/test/createRandomTest)"
# echo "$TEST"
# test pyethereum
#OUTPUT_PYTHON="$(python ./tests/test_vm.py "$TEST")"
#RESULT_PYTHON=$?
# test go
OUTPUT_GO="$(ethtest "$TEST")"
RESULT_GO=$?
# test cpp-jit
#OUTPUT_CPPJIT="$(~/software/Ethereum/cpp-ethereum/build/test/checkRandomTest "$TEST")"
#RESULT_CPPJIT=$?
# go fails
if [ "$RESULT_GO" -ne 0 ]; then
echo Failed:
echo Output_GO:
echo $OUTPUT_GO
echo Test:
echo "$TEST"
echo "$TEST" > FailedTest.json
mv FailedTest.json $(date -d "today" +"%Y%m%d%H%M")GO.json # replace with scp to central server
fi
# python fails
#if [ "$RESULT_PYTHON" -ne 0 ]; then
# echo Failed:
# echo Output_PYTHON:
# echo $OUTPUT_PYTHON
# echo Test:
# echo "$TEST"
# echo "$TEST" > FailedTest.json
# mv FailedTest.json $(date -d "today" +"%Y%m%d%H%M")PYTHON.json
#fi
# cppjit fails
#if [ "$RESULT_CPPJIT" -ne 0 ]; then
# echo Failed:
# echo Output_CPPJIT:
# echo $OUTPUT_CPPJIT
# echo Test:
# echo "$TEST"
# echo "$TEST" > FailedTest.json
# mv FailedTest.json $(date -d "today" +"%Y%m%d%H%M")CPPJIT.json
#fi
---
- name: setting up buildslave configuration
- name: preparing and running tests
# testing
hosts: all
# live
# hosts: poc-8.ethdev.com
# hosts: TBD
# TODO use the right user for configuring, until credentials set, stay with default vagrant user
# remote_user: buildsalve
# remote_user: ubuntu
roles:
- buildslave
- testrunner
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment