Skip to content

Commit 2eb4199

Browse files
committed
Fix travis script
1 parent 67a53f8 commit 2eb4199

File tree

5 files changed

+216
-10
lines changed

5 files changed

+216
-10
lines changed

.travis.yml

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,26 @@
11
language: python
22

3+
sudo: required
4+
dist: trusty
5+
36
python:
47
- "2.7"
58

69
branches:
710
only:
8-
- travis_research
9-
10-
cache:
11-
- pip
11+
- master
1212

1313
install:
14-
- pip install numpy nose matplotlib scipy pyyaml coverage
14+
- sudo apt-get install libssl-dev
15+
- wget https://github.com/Ezetowers/MLC/releases/download/v0.0.1/mlc-python-ubuntu-14.04_0.6_amd64.deb
16+
- sudo dpkg -i mlc-python-ubuntu-14.04_0.6_amd64.deb
17+
- sudo /opt/mlc-python-2.7.11/bin/mlc_pip uninstall numpy -y
18+
- sudo /opt/mlc-python-2.7.11/bin/mlc_pip install numpy
1519

1620
script:
17-
- tests/test_application.py
21+
- cd tests
22+
- ./run_unit_tests.sh
23+
# - ./run_integration_tests.sh
1824

1925
after_success:
20-
- coverage
26+
- coverage

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# MLC (Machine Learning Control)
22

3+
[![Build Status](https://travis-ci.org/Ezetowers/MLC.svg?branch=master)](https://travis-ci.org/Ezetowers/MLC)
4+
35
## Table of Contents
46
1. [Abstract](#abstract)
57
2. [Project Structure](#project_structure)

tests/integration_tests/integration_tests.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import sys
22
import os
33
sys.path.append("../..")
4-
import matlab.engine
4+
55
import numpy as np
66
import shutil
77
import unittest

tools/installer/Dockerfiles/ubuntu-14.04/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Set the base image
2-
FROM ubuntu:16.04
2+
FROM ubuntu:14.04
33

44
# Update the current system
55
RUN apt-get update && apt-get upgrade -y
@@ -195,4 +195,4 @@ RUN echo '#!/bin/bash' > /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
195195
# cp -r /opt/mlc-python-2.7.11/Qt-5.7.1/lib/* /opt/mlc-python-2.7.11/libs
196196

197197
# Install fpm and create .deb package
198-
RUN gem install fpm && fpm -s dir -t deb -v 0.5 -n mlc-python /opt/mlc-python-2.7.11
198+
RUN gem install fpm && fpm -s dir -t deb -v 0.6 -n mlc-python-ubuntu_14.04 /opt/mlc-python-2.7.11
Lines changed: 198 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,198 @@
1+
# Set the base image
2+
FROM ubuntu:16.04
3+
4+
# Update the current system
5+
RUN apt-get update && apt-get upgrade -y
6+
7+
# Install packages
8+
RUN apt-get install cmake \
9+
liblapack-dev \
10+
gfortran \
11+
libxml2-dev \
12+
libxslt1-dev \
13+
libshiboken-dev \
14+
ruby-dev \
15+
tcl-dev \
16+
tcl \
17+
tk \
18+
tk-dev \
19+
ssh \
20+
gcc \
21+
g++ \
22+
wget \
23+
xz-utils \
24+
make \
25+
vim \
26+
libssl-dev \
27+
libsqlite3-dev \
28+
git \
29+
freeglut3 \
30+
freeglut3-dev \
31+
binutils-gold \
32+
libglew-dev \
33+
mesa-common-dev \
34+
build-essential \
35+
'^libxcb.*-dev' \
36+
libx11-xcb-dev \
37+
libglu1-mesa-dev \
38+
libxrender-dev \
39+
libxi-dev \
40+
-y
41+
42+
# Download python 2.7.11
43+
WORKDIR /tmp
44+
# For more information about the compilation of the Python: http://www.mathworks.com/help/matlab/matlab_external/system-requirements-for-matlab-engine-for-python.html?requestedDomain=www.mathworks.com
45+
RUN wget -q https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tar.xz && \
46+
tar xJvf Python-2.7.11.tar.xz && \
47+
cd Python-2.7.11 && ./configure --enable-shared --enable-unicode=ucs4 --prefix=/opt/mlc-python-2.7.11 && make && make install && \
48+
rm -rf /tmp/Python-2.7.11
49+
50+
# Create .sh who will load the desired enviroment to run python within it
51+
RUN echo '#!/bin/bash' >> /opt/mlc-python-2.7.11/bin/mlc_python && \
52+
echo "" >> /opt/mlc-python-2.7.11/bin/mlc_python && \
53+
echo "# Add the correct path to the LD_LIBRARY_PATH enviroment variable" >> /opt/mlc-python-2.7.11/bin/mlc_python && \
54+
echo 'export LD_LIBRARY_PATH=/opt/mlc-python-2.7.11/lib:/opt/mlc-python-2.7.11/libs:$LD_LIBRARY_PATH' >> /opt/mlc-python-2.7.11/bin/mlc_python && \
55+
echo 'PYTHON="/opt/mlc-python-2.7.11/bin/python2.7"' >> /opt/mlc-python-2.7.11/bin/mlc_python && \
56+
echo "" >> /opt/mlc-python-2.7.11/bin/mlc_python && \
57+
echo "# Run the dynamically compiled python for matlab" >> /opt/mlc-python-2.7.11/bin/mlc_python && \
58+
echo 'if [ "$#" -ne 0 ]; then' >> /opt/mlc-python-2.7.11/bin/mlc_python && \
59+
echo ' $PYTHON $@' >> /opt/mlc-python-2.7.11/bin/mlc_python && \
60+
echo "else" >> /opt/mlc-python-2.7.11/bin/mlc_python && \
61+
echo ' $PYTHON' >> /opt/mlc-python-2.7.11/bin/mlc_python && \
62+
echo "fi" >> /opt/mlc-python-2.7.11/bin/mlc_python && \
63+
chmod 755 /opt/mlc-python-2.7.11/bin/mlc_python
64+
65+
66+
# Install Python Setuptools
67+
RUN wget -q https://pypi.python.org/packages/source/s/setuptools/setuptools-20.1.1.tar.gz#md5=10a0f4feb9f2ea99acf634c8d7136d6d && \
68+
tar xzvf setuptools-20.1.1.tar.gz && \
69+
cd setuptools-20.1.1 && /opt/mlc-python-2.7.11/bin/mlc_python setup.py build && /opt/mlc-python-2.7.11/bin/mlc_python setup.py install && \
70+
rm -rf /tmp/setuptools-20.1.1*
71+
72+
73+
# Idem with pip
74+
RUN wget -q https://pypi.python.org/packages/source/p/pip/pip-8.0.2.tar.gz#md5=3a73c4188f8dbad6a1e6f6d44d117eeb && \
75+
tar xzvf pip-8.0.2.tar.gz && \
76+
cd pip-8.0.2 && /opt/mlc-python-2.7.11/bin/mlc_python setup.py build && /opt/mlc-python-2.7.11/bin/mlc_python setup.py install && \
77+
rm -rf /tmp/pip-8.0.2*
78+
79+
# Create .sh who will load the desired enviroment to run pip within it
80+
RUN echo '#!/bin/bash' >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
81+
echo "" >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
82+
echo "# Add the correct path to the LD_LIBRARY_PATH enviroment variable" >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
83+
echo 'export LD_LIBRARY_PATH=/opt/mlc-python-2.7.11/lib:/opt/mlc-python-2.7.11/libs:$LD_LIBRARY_PATH' >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
84+
echo 'PIP="/opt/mlc-python-2.7.11/bin/pip2.7"' >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
85+
echo "" >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
86+
echo "# Run the dynamically compiled pip" >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
87+
echo 'if [ "$#" -ne 0 ]; then' >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
88+
echo ' $PIP $@' >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
89+
echo "else" >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
90+
echo ' $PIP' >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
91+
echo "fi" >> /opt/mlc-python-2.7.11/bin/mlc_pip && \
92+
chmod 755 /opt/mlc-python-2.7.11/bin/mlc_pip
93+
94+
RUN apt-get install libxkbcommon-dev -y
95+
96+
# Install Qt5.7
97+
RUN git clone git://code.qt.io/qt/qtbase.git && \
98+
cd qtbase && \
99+
git checkout 5.7 && \
100+
./configure --prefix=/opt/mlc-python-2.7.11/Qt-5.7.1 -xkb-config-root /usr/share/X11/xkb -no-gtk -nomake tests -nomake examples -qt-xcb --opensource --confirm-license && \
101+
make -j4 && make install && \
102+
rm -rf /tmp/qtbase
103+
104+
RUN git clone git://code.qt.io/qt/qtcharts.git && \
105+
cd qtcharts && \
106+
git checkout 5.7 && \
107+
/opt/mlc-python-2.7.11/Qt-5.7.1/bin/qmake CONFIG+=release && make -j4 && make install && \
108+
rm -rf /tmp/qtcharts
109+
110+
RUN git clone git://code.qt.io/qt/qtdatavis3d.git && \
111+
cd qtdatavis3d && \
112+
git checkout 5.7 && \
113+
/opt/mlc-python-2.7.11/Qt-5.7.1/bin/qmake CONFIG+=release && make -j4 && make install && \
114+
rm -rf /tmp/qtdatavis3d
115+
116+
RUN git clone git://code.qt.io/qt/qtdeclarative.git && \
117+
cd qtdeclarative && \
118+
git checkout 5.7 && \
119+
/opt/mlc-python-2.7.11/Qt-5.7.1/bin/qmake CONFIG+=release && make -j4 && make install && \
120+
rm -rf /tmp/qtdeclarative
121+
122+
RUN git clone git://code.qt.io/qt/qtx11extras.git && \
123+
cd qtx11extras && \
124+
git checkout 5.7 && \
125+
/opt/mlc-python-2.7.11/Qt-5.7.1/bin/qmake CONFIG+=release && make -j4 && make install && \
126+
rm -rf /tmp/qtx11extras
127+
128+
# Add PyQt5 Support
129+
RUN wget https://sourceforge.net/projects/pyqt/files/sip/sip-4.19/sip-4.19.tar.gz && \
130+
tar xzvf sip-4.19.tar.gz && \
131+
cd sip-4.19 && \
132+
/opt/mlc-python-2.7.11/bin/mlc_python configure.py && \
133+
make -j4 && make install && \
134+
rm -rf /tmp/sip-4.19*
135+
136+
RUN wget https://sourceforge.net/projects/pyqt/files/PyQt5/PyQt-5.7.1/PyQt5_gpl-5.7.1.tar.gz && \
137+
tar xzvf PyQt5_gpl-5.7.1.tar.gz && \
138+
cd PyQt5_gpl-5.7.1 && \
139+
/opt/mlc-python-2.7.11/bin/mlc_python configure.py --qmake /opt/mlc-python-2.7.11/Qt-5.7.1/bin/qmake --confirm-license --sip /opt/mlc-python-2.7.11/bin/sip && \
140+
make -j4 && make install && \
141+
rm -rf /tmp/PyQt5_gpl-5.7.1*
142+
143+
# Add PyQt5 Charts
144+
RUN wget https://sourceforge.net/projects/pyqt/files/PyQtChart/PyQtChart-5.7.1/PyQtChart_gpl-5.7.1.tar.gz && \
145+
tar xzvf PyQtChart_gpl-5.7.1.tar.gz && \
146+
cd PyQtChart_gpl-5.7.1 && \
147+
/opt/mlc-python-2.7.11/bin/mlc_python configure.py --qmake /opt/mlc-python-2.7.11/Qt-5.7.1/bin/qmake --sip /opt/mlc-python-2.7.11/bin/sip && \
148+
make -j4 && make install && \
149+
rm -rf /tmp/PyQtChart_gpl-5.7.1*
150+
151+
RUN wget https://sourceforge.net/projects/pyqt/files/PyQtDataVisualization/PyQtDataVisualization-5.7.1/PyQtDataVisualization_gpl-5.7.1.tar.gz/download -O PyQtDataVisualization_gpl-5.7.1.tar.gz && \
152+
tar xzvf PyQtDataVisualization_gpl-5.7.1.tar.gz && \
153+
cd PyQtDataVisualization_gpl-5.7.1 && \
154+
/opt/mlc-python-2.7.11/bin/mlc_python configure.py --qmake /opt/mlc-python-2.7.11/Qt-5.7.1/bin/qmake --sip /opt/mlc-python-2.7.11/bin/sip && \
155+
make -j4 && make install && \
156+
rm -rf /tmp/PyQtDataVisualization_gpl-5.7.1*
157+
158+
# Create .sh who will load the desired enviroment to run pip within it
159+
RUN echo '#!/bin/bash' >> /opt/mlc-python-2.7.11/bin/mlc_pyuic5 && \
160+
echo "" >> /opt/mlc-python-2.7.11/bin/mlc_pyuic5 && \
161+
echo "# Add the correct path to the LD_LIBRARY_PATH enviroment variable" >> /opt/mlc-python-2.7.11/bin/mlc_pyuic5 && \
162+
echo 'export LD_LIBRARY_PATH=/opt/mlc-python-2.7.11/lib:/opt/mlc-python-2.7.11/libs:$LD_LIBRARY_PATH' >> /opt/mlc-python-2.7.11/bin/mlc_pyuic5 && \
163+
echo 'PYUIC="/opt/mlc-python-2.7.11/bin/pyuic5"' >> /opt/mlc-python-2.7.11/bin/mlc_pyuic5 && \
164+
echo "" >> /opt/mlc-python-2.7.11/bin/mlc_pyuic5 && \
165+
echo "# Run the dynamically compiled pip" >> /opt/mlc-python-2.7.11/bin/mlc_pyuic5 && \
166+
echo 'if [ "$#" -ne 0 ]; then' >> /opt/mlc-python-2.7.11/bin/mlc_pyuic5 && \
167+
echo ' $PYUIC $@' >> /opt/mlc-python-2.7.11/bin/mlc_pyuic5 && \
168+
echo "else" >> /opt/mlc-python-2.7.11/bin/mlc_pyuic5 && \
169+
echo ' $PYUIC' >> /opt/mlc-python-2.7.11/bin/mlc_pyuic5 && \
170+
echo "fi" >> /opt/mlc-python-2.7.11/bin/mlc_pyuic5 && \
171+
chmod 755 /opt/mlc-python-2.7.11/bin/mlc_pyuic5
172+
173+
# Install mlc dependencies
174+
# Create .sh who will load the desired enviroment to run nosetests within it
175+
RUN export LD_LIBRARY_PATH=/usr/local/Qt-5.7.1/lib:$LD_LIBRARY_PATH && \
176+
export PATH=/usr/local/Qt-5.7.1/bin:$PATH && \
177+
/opt/mlc-python-2.7.11/bin/mlc_pip install cython numpy flask requests pyserial nose pyyaml coverage matplotlib scipy
178+
179+
RUN echo '#!/bin/bash' > /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
180+
echo "" >> /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
181+
echo "# Add the correct path to the LD_LIBRARY_PATH enviroment variable" >> /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
182+
echo 'export LD_LIBRARY_PATH=/opt/mlc-python-2.7.11/lib:/opt/mlc-python-2.7.11/libs:$LD_LIBRARY_PATH' >> /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
183+
echo 'NOSETESTS="/opt/mlc-python-2.7.11/bin/nosetests"' >> /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
184+
echo "" >> /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
185+
echo "# Run the dynamically compiled nosetests" >> /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
186+
echo 'if [ "$#" -ne 0 ]; then' >> /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
187+
echo ' $NOSETESTS $@' >> /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
188+
echo "else" >> /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
189+
echo ' $NOSETESTS' >> /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
190+
echo "fi" >> /opt/mlc-python-2.7.11/bin/mlc_nosetests && \
191+
chmod 755 /opt/mlc-python-2.7.11/bin/mlc_nosetests
192+
193+
# Copy Qt Libraries
194+
# RUN mkdir /opt/mlc-python-2.7.11/libs && \
195+
# cp -r /opt/mlc-python-2.7.11/Qt-5.7.1/lib/* /opt/mlc-python-2.7.11/libs
196+
197+
# Install fpm and create .deb package
198+
RUN gem install fpm && fpm -s dir -t deb -v 0.5 -n mlc-python /opt/mlc-python-2.7.11

0 commit comments

Comments
 (0)