Browse Source

Travis - upgrade to Xenial and use OCCT from PPA

master
triplus 4 weeks ago
parent
commit
17ce36b0d5
1 changed files with 54 additions and 66 deletions
  1. 54
    66
      .travis.yml

+ 54
- 66
.travis.yml View File

@@ -36,7 +36,7 @@ cache:
language: cpp
python:
- 2.7
- 3.4
- 3.6

# Inject osx build into matrix - needed to specify image/dist
matrix:
@@ -46,25 +46,24 @@ matrix:
fast_finish: true # https://blog.travis-ci.com/2013-11-27-fast-finishing-builds
include:
- os: linux
dist: trusty
dist: bionic
compiler: clang
env:
- CMAKE_OPTS="-DBUILD_FEM_NETGEN=ON"
- PYTHON_MAJOR_VERSION=2
env:
- CMAKE_OPTS="-DBUILD_FEM_NETGEN=ON -DBUILD_QT5=ON"
- PYTHON_MAJOR_VERSION=3

- os: linux
dist: trusty
dist: bionic
compiler: gcc
env:
- CMAKE_OPTS="-DBUILD_FEM_NETGEN=ON"
- PYTHON_MAJOR_VERSION=2
- CMAKE_OPTS="-DBUILD_FEM_NETGEN=ON -DBUILD_QT5=ON"
- PYTHON_MAJOR_VERSION=3

- os: linux
dist: trusty
dist: bionic
compiler: gcc
env:
- CMAKE_OPTS="-DBUILD_FEM_NETGEN=ON"
- PYTHON_MAJOR_VERSION=3
env:
- PYTHON_MAJOR_VERSION=2

- os: windows
language: cpp
@@ -119,67 +118,54 @@ before_install:
case "${TRAVIS_OS_NAME}" in

"linux")
# Daily PPA for OCCT, Pivy, Netgen, PySide ... packages
sudo apt-add-repository -y ppa:freecad-maintainers/freecad-daily
sudo apt-get update -qq
# Build deps
sudo apt-get install -y --no-install-recommends \
doxygen \
libboost1.55-dev \
libboost-filesystem1.55-dev \
libboost-program-options1.55-dev \
libboost-python1.55-dev \
libboost-regex1.55-dev \
libboost-signals1.55-dev \
libboost-system1.55-dev \
libboost-thread1.55-dev \
libcoin80 \
libcoin80-dev \
liboce-foundation-dev \
liboce-modeling-dev \
liboce-ocaf-dev \
liboce-ocaf-lite-dev \
liboce-visualization-dev \
libpyside-dev \
libqtcore4 \
libshiboken-dev \
libxerces-c-dev \
libxmu-dev \
libxmu-headers \
libxmu6 \
libxmuu-dev \
libxmuu1 \
netgen \
netgen-headers \
oce-draw \
pyside-tools \
python-dev \
python-pyside \
python-matplotlib \
python3-dev \
python3-pyside \
python3-matplotlib \
qt4-dev-tools \
libboost1.65-dev \
libboost-filesystem1.65-dev \
libboost-program-options1.65-dev \
libboost-python1.65-dev \
libboost-regex1.65-dev \
libboost-signals1.65-dev \
libboost-system1.65-dev \
libboost-thread1.65-dev \
libxerces-c-dev \
libocct-data-exchange-dev \
libocct-ocaf-dev \
libocct-visualization-dev \
libvtk7-dev \
libmedc-dev \
swig \
qt4-qmake \
libqt4-opengl-dev \
shiboken \
swig \
libvtk6-dev \
libmed-dev \
libmedc-dev \
asciidoc

# Make sure dpkg is upgraded for Ubuntu 14.04 (required for eigen3)
sudo apt-get install -y dpkg

# Use latest Eigen3 package
curl -L http://security.ubuntu.com/ubuntu/pool/universe/e/eigen3/libeigen3-dev_3.3.4-4_all.deb -o libeigen3.deb \
&& sudo dpkg -i libeigen3.deb

# Install ccache to reduce successive build times (use newer version to minimize issues)
# XXX: ccache <=3.4.3 always builds manuals, requiring asciidoc/xsltproc
# XXX: 3.4.4 might have --disable-man (at least its present in their git)
sudo apt install -y xsltproc
curl -L "https://codeload.github.com/ccache/ccache/tar.gz/v3.4.3" | tar xvz && cd ccache-*
./autogen.sh && ./configure CC=gcc && sudo make install
cd ${TRAVIS_BUILD_DIR}
libqtwebkit-dev \
qtbase5-dev \
libqt5xmlpatterns5-dev \
libqt5svg5-dev \
libqt5opengl5-dev \
qttools5-dev \
qtwebengine5-dev \
libcoin80-dev \
libpyside-dev \
libpyside2-dev \
libshiboken-dev \
libshiboken2-dev \
pyside-tools \
pyside2-tools \
doxygen \
graphviz \
netgen \
netgen-headers \
libmetis-dev \
libspnav-dev

export DISPLAY=:99.0
sh -e /etc/init.d/xvfb start
@@ -189,8 +175,7 @@ before_install:
then
export CMAKE_ARGS="${CMAKE_OPTS} -DPYTHON_EXECUTABLE=/usr/bin/python"
else
export CMAKE_ARGS="${CMAKE_OPTS} -DPYTHON_EXECUTABLE=/usr/bin/python3.4 -DPYTHON_BASENAME=.cpython-34m \
-DPYTHON_SUFFIX=.cpython-34m"
export CMAKE_ARGS="${CMAKE_OPTS} -DPYTHON_EXECUTABLE=/usr/bin/python3"
fi
export INSTALLED_APP_PATH="/usr/local/bin/FreeCAD"
;;
@@ -287,7 +272,10 @@ script:
winpty.exe -Xallow-non-tty -Xplain /C/Users/travis/build/FreeCAD/FreeCAD/build/bin/FreeCADCmd.exe --run-test 0 | tee runlog.txt
grep -q FAILED runlog.txt ; [ $? == 1 ] && echo "Build succeeded and tests passed!" || ( echo "Tests failed!" && false )
else
sudo make -j2 install
# Stop compiling (GCC) after 2 hrs 15 min (2 hrs 30 min limit).
# Preserves created ccache for the next build job.
if [ "${TRAVIS_OS_NAME}" == "linux" ]; then sudo timeout -k 140m 135m make -j2 install || true; fi
if [ "${TRAVIS_OS_NAME}" == "osx" ]; then sudo make -j2 install; fi
${INSTALLED_APP_PATH} --console --run-test 0
${INSTALLED_APP_PATH} --log-file /tmp/FreeCAD_installed.log &
sleep 10 && pkill FreeCAD

Loading…
Cancel
Save