133f82ba2e453f12c202d631eb4769368111f4d0
[osm/vim-emu.git] / utils / ci / jenkins_entrypoint.sh
1 #!/bin/bash
2 # Copyright (c) 2015 SONATA-NFV and Paderborn University
3 # ALL RIGHTS RESERVED.
4 #
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
8 #
9 # http://www.apache.org/licenses/LICENSE-2.0
10 #
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16 #
17 # Neither the name of the SONATA-NFV, Paderborn University
18 # nor the names of its contributors may be used to endorse or promote
19 # products derived from this software without specific prior written
20 # permission.
21 #
22 # This work has been performed in the framework of the SONATA project,
23 # funded by the European Commission under Grant number 671517 through
24 # the Horizon 2020 and 5G-PPP programmes. The authors would like to
25 # acknowledge the contributions of their colleagues of the SONATA
26 # partner consortium (www.sonata-nfv.eu).
27 #
28 # This is the entry point for Jenkins.
29 # Script has to be called from "son-emu" root directory, like: sudo ./utils/ci/jenkins_entrypoint.sh
30 export DOCKER_HOST="unix:///var/run/docker.sock"
31
32 # don't rely on Debian/Ubuntu Docker engine
33 #apt-get remove docker-engine
34 # make sure we start from scratch
35 #pip uninstall docker-py
36 #pip uninstall docker
37
38 set -e
39 set -x
40
41 # install docker
42 #apt-get install curl apt-transport-https ca-certificates
43 #curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
44 #add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
45 #apt-get -qq update
46 #apt-get install docker-ce
47
48 # build the container
49 docker build -t son-emu-img .
50
51 # launch the container and trigger the unit tests
52 docker run --name son-emu -it --rm --privileged --pid='host' -v /var/run/docker.sock:/var/run/docker.sock son-emu-img py.test -v src/emuvim/test/unittests
53
54 #
55 # old way to call the tests directly on the host machine
56 #
57 #SON_EMU_DIR=$(pwd)
58 #cd $SON_EMU_DIR/../
59
60 # prepare
61 #apt-get update
62 #DEBIAN_FRONTEND=noninteractive apt-get install -o Dpkg::Options::="--force-confold" --force-yes -y git ansible aptitude
63 #echo "localhost ansible_connection=local" >> /etc/ansible/hosts
64
65 # install containernet
66 #git clone https://github.com/containernet/containernet.git
67 #CONTAINERNET_DIR=$(pwd)/containernet
68 #echo "Installing containernet (will take some time ~30 minutes) ..."
69 #cd $CONTAINERNET_DIR/ansible
70 #ansible-playbook install.yml
71
72 # install son-emu
73 #echo "Installing son-emu (will take some time) ..."
74 #cd $SON_EMU_DIR/ansible
75 #ansible-playbook install.yml
76
77 # execute son-emu tests at the end to validate installation
78 #echo "Running son-emu unit tests to validate installation"
79 #cd $SON_EMU_DIR
80 #python setup.py develop
81
82 # run the unit tests
83 #py.test -v src/emuvim/test/unittests
84
85