Skip to content

Commit

Permalink
Summary commit to bring master up to date with v17 with regard to CI:
Browse files Browse the repository at this point in the history
- 0b91e48 Update TravisCI: build master, but omit OS X since I still haven't figured out what goes wrong on the Travis machine, somehow the compiler flags are selected wrongly...
- 697f039 TravisCI: try moving to Trusty which provides ROOT and a recent GCC
- 8828506 Try to fix missing packages with preventive apt-get update
- cd010ae Add additional CMake hint for ROOT package installed on Trusty platforms
- ced60a6 The packaged ROOT is lacking "TPaletteAxis.h" for some reason. I'm getting a bit angry and am turning off the OnlineMon build for now.
- 412e994 Added appveyor.yml for automatized Windows build on appyevor: https://ci.appveyor.com Needs just a registration of the repository similar as Travis and both of them should be able to run at the same time: https://github.com/blog/1935-see-results-from-all-pull-request-status-checks
- d92746a Changed .travis.yml in a way that instead of using the root-system from the Ubuntu repository which is traditionally a bit strange the precompiled version from the CERN root web site is loaded. Now the OnlineMon is reanbled for the Linux build.
- 047810b Wrong branch name in appveyor.yml
- 638fd78 With the removal of the hand assigned compiler flags (relying on cmake) it also compiles again on OSX. Added modern cmake 3.4 as the provided one is too old: 2.8.
+ b405426 Add qt to OSX.
+ 106c5b2 Switched CI settings from v1.5-dev branch to v1.6-dev as 1.6 release has been published.
+ 21f589b Fixed CI badges for v1.6-dev
+ 1ae0ffa Formatting README.md v1.6-dev got lost
+ 8466bfe Forgot to change hard coded version for 1.6
+ 3dc0a9b Forgot to change hard coded version for 1.6
+ e897f4e Reduce noise in appveyor build (see http://help.appveyor.com/discussions/problems/4569-the-target-_convertpdbfiles-listed-in-a-beforetargets-attribute-at-c-does-not-exist-in-the-project-and-will-be-ignored).
+ 99376b9 Appveyor CI: Updated appveyor to ROOT 5.34.36 (still for MSVC 2012 but it seems to work...) and Qt 5.6/MSVC 2015.
+ 4b702dc Travis CI: Updated travis ROOT to 5.34.36
+ 906dc5d Travis CI: Creating option branches
+ 0ffb506 Travis CI: Corrected the file permissions of helper scripts
+ f2cc2ec Travis CI: More progress on travis options. Renamed travis env variable. Travis env context
+ dbdf7cf Travis CI: QT5 added
+ 92372dd Travis CI: Install python3 on travis for modern option
+ a4ce2d8 Travis CI: Switch on all producers
+ bc37bf9 Travis CI: Do not build palpidefs on travis as it requires external dependencies
+ 9ae0e93 Travis CI: Adding openafs to travis
+ 0707986 Travis CI: Added more producers
+ 3cf1509 Travis CI: Removed pixelman producer from travis build and checking why afs not recognized
+ b6a6ddf Travis CI: Added kernel headers for OpenAFS module
+ 50dbc41 Travis CI: Added openafs repo to travis linux
+ ea949f1 Travis CI: Start openafs after module installation
+ d19ae7d Travis CI: Added libusb to travis
+ 5904a58 Travis CI: For travis download only necessary parts of ZestSC, otherwise awfully slow.
+ 639fd8b Cmake syntax error
+ 7b6a31c Travis CI: Removed pybar from travis as it seems to be no longer in 1.6 and following
+ 4857c1a Travis CI: Removing Altro from build due to known issues
+ 7a2b477 Travis CI: Removing mvd from travis build due to known issues
+ 613b669 Travis CI: Removing calice from the travis build until it is fixed
+ a16e29e Removing depfet from travis build as it fails.
+ 3b3d24c Travis CI: Readding depfet to travis after Simon's fix
+ e618a86 Travis CI: Install OpenAFS on Mac
+ e96e656 Travis CI: Reenable calice option
+ 7bccc9a Travis CI: Disable eudrb as it is only supposed to run on single board computers
+ 2c00b5c Appveyor CI: Install OpenAFS on Windows
+ 5bb53e4 Travis CI: Changing cmake flags
+ e6fb0c4 Travis CI: Compile manual on linux
+ ad242e6 Appveyor CI: Remove remote desktop conenction (only for debugging, leave it commented)
+ 6f5b10e Travis CI: Change cmake parametres
+ d940170 Travis CI: Change python handling
+ bbc3553 Fix problem with cmake on mac (framework version mismatch):     https://github.com/usnistgov/REFPROP-wrappers/blob/master/cmake/FindPythonLibsNew.cmake     pybind/pybind11#99     http://stackoverflow.com/questions/30470628/os-x-cmake-cant-find-pythonlibs-3-4     Homebrew/legacy-homebrew#10393 (comment)
+ d7fa3d1 Travis CI: Updated root 6 version
+ 71d0057 Travis CI more work on python installation for mac and linux.
+ 4fe72ea Appveyor CI: Installation of supporter programs, openafs, ...
+ 8bb32e5 Appveyor CI: Install python including numpy
+ c52c1e8 - Solved openafs problem on travis CI - Updated hard coded version to 1.7 - General clean up of CI oriented files - Reverted FINDLIBusb.cmake test output as it is no longer necessary after debugging - Prepared travis and appveyor githb release upload; needs to be tested after merge
+ b76f64a Appveyor CI: Repair syntax error in yml file.
+ ceb7d9e Appveyor CI: Fixing artefact generation
+ 39ae109 CI: Changing branch name for symbols in README.me (show on the top page of github)
  • Loading branch information
arummler committed Aug 20, 2016
1 parent 46eb26b commit 6f9b25c
Show file tree
Hide file tree
Showing 10 changed files with 921 additions and 53 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,9 @@ conf/*
.project
.cproject

# Ignore path to library necessary for cmspixel option
extern/pxar

# Ignore binary data file folders downloaded for TLU producer:
extern/ZestSC1
extern/tlufirmware
Expand Down
165 changes: 126 additions & 39 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,56 +4,143 @@ sudo: required

dist: trusty

compiler:
- gcc

branches:
only:
- master
- v1.6-dev

os:
- linux
- osx
- v1.7-dev

# set here versions / file paths
env:
global:
- ROOT5_FILENAME_LINUX=root_v5.34.36.Linux-ubuntu14-x86_64-gcc4.8.tar.gz
- ROOT5_FILENAME_MAC=root_v5.34.36.macosx64-10.9-clang60.tar.gz
- ROOT6_FILENAME_LINUX=root_v6.06.06.Linux-ubuntu14-x86_64-gcc4.8.tar.gz
- ROOT6_FILENAME_MAC=root_v6.06.06.macosx64-10.9-clang60.tar.gz

- CMAKE_DOWNLOAD_PATH=https://cmake.org/files/v3.5
- CMAKE_FILENAME_LINUX=cmake-3.5.2-Linux-x86_64.tar.gz
- CMAKE_FILENAME_MAC=cmake-3.5.2-Darwin-x86_64.tar.gz

- OPENAFS_DOWNLOAD_PATH_MAC=http://www.openafs.org/dl/openafs/1.6.6/macos-10.9
- OPENAFS_FILENAME_MAC=OpenAFS-1.6.6-Mavericks.dmg

- PYTHON_VERSION_MODERN=3.5.1
- PYTHON_VERSION_OLD=2.7.10

- BUILD_AHCAL=OFF
- BUILD_BIFAHCAL=OFF
- BUILD_TESTING=OFF
- BUILD_WITH_QT4=OFF
- BUILD_allproducer=OFF
- BUILD_altro=OFF
- BUILD_altroUSB=OFF
- BUILD_apixct=OFF
- BUILD_calice=ON
- BUILD_ccpdlf=OFF
- BUILD_clicpix=OFF
- BUILD_cmspixel=ON
- BUILD_depfet=ON
- BUILD_eudrb=OFF
- BUILD_example=OFF
- BUILD_explorer=ON
- BUILD_fortis=ON
- BUILD_gui=ON
- BUILD_main=OFF
- BUILD_manual=OFF
- BUILD_mimoroma=ON
- BUILD_mimosa32=ON
- BUILD_miniTLU=OFF
- BUILD_mupix=OFF
- BUILD_mvd=OFF
- BUILD_ni=ON
- BUILD_nreader=OFF
- BUILD_offlinemon=OFF
- BUILD_onlinemon=ON
- BUILD_palpidefs=OFF
- BUILD_palpidess=OFF
- BUILD_pixelmanproducer=OFF
- BUILD_pybar=OFF
- BUILD_python=ON
- BUILD_root=OFF
- BUILD_taki=OFF
- BUILD_timepixdummy=OFF
- BUILD_tlu=ON
- BUILD_usbpix=OFF


# possible options:
# Linux/Mac
# gcc/clang
# ROOT 5/6
# QT 4/5
# Python 2/3 not realized yet

# in order to reduce options:
# Linux/Mac
# gcc/clang
# modern (ROOT 6, QT 5, Python 3) / old (ROOT 5, QT 4, Python 2)
# results in 8 combinations
# documentation to be "compiled" in maximum one option

# cmspixel:
# requires pxar download and installation which is done
# disabled for mac, old, gcc and clang as pxar can be installed but during eudaq compilation is fails to include properly the defines from api.h
# the reason for this behaviour is unclear

matrix:
include:
- os: linux
compiler: gcc
env: OPTION=modern BUILD_manual=ON
- os: linux
compiler: gcc
env: OPTION=old
- os: linux
compiler: clang
env: OPTION=modern
- os: linux
compiler: clang
env: OPTION=old
- os: osx
compiler: gcc
env: OPTION=modern
- os: osx
compiler: gcc
env: OPTION=old BUILD_cmspixel=OFF
- os: osx
compiler: clang
env: OPTION=modern
- os: osx
compiler: clang
env: OPTION=old BUILD_cmspixel=OFF

before_install:
- $CXX --version
- $CC --version

- if [ $TRAVIS_OS_NAME == linux ]; then wget https://root.cern.ch/download/root_v5.34.34.Linux-ubuntu14-x86_64-gcc4.8.tar.gz && tar -xvf root_v5.34.34.Linux-ubuntu14-x86_64-gcc4.8.tar.gz && source root/bin/thisroot.sh; fi

- if [ $TRAVIS_OS_NAME == osx ]; then wget https://root.cern.ch/download/root_v5.34.34.macosx64-10.9-clang60.tar.gz && tar -xvf root_v5.34.34.macosx64-10.9-clang60.tar.gz && source root/bin/thisroot.sh; fi

- if [ $TRAVIS_OS_NAME == linux ]; then sudo apt-get -qq update; fi

# OS X: update brew cache:
- if [ $TRAVIS_OS_NAME == osx ]; then brew update; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" && "$CC" == "gcc" ]]; then CC=gcc-4.9; fi
- if [ $TRAVIS_OS_NAME == "osx" ]; then wget https://cmake.org/files/v3.4/cmake-3.4.3-Darwin-x86_64.tar.gz && tar xfz cmake-3.4.3-Darwin-x86_64.tar.gz && export PATH="`pwd`/cmake-3.4.3-Darwin-x86_64/CMake.app/Contents/bin":$PATH:; fi
- if [ $TRAVIS_OS_NAME == "osx" ]; then echo $PATH; fi


- source .travis/before_install.sh
- if [ $BUILD_cmspixel == "ON" ]; then source .travis/install_pxar.sh; fi

install:
# Install package dependencies for Linux:
- if [ $TRAVIS_OS_NAME == linux ]; then sudo apt-get install -y libusb-1.0-0 libusb-1.0-0-dev python2.7 python-numpy cmake qt4-dev-tools; fi

# Install package dependencies for Mac OS X:
- if [ $TRAVIS_OS_NAME == osx ]; then brew unlink cmake; fi
- if [ $TRAVIS_OS_NAME == osx ]; then brew install python libusb qt; fi
# Install numpy via pip:
- if [ $TRAVIS_OS_NAME == osx ]; then easy_install pip && pip install numpy; fi
- source .travis/install.sh

before_script:

# For Mac OS X we still need to source the root environment:
# - if [ $TRAVIS_OS_NAME == osx ]; then source $(brew --prefix root)/libexec/thisroot.sh; fi

- $CXX --version
- $CC --version

- cd build
- echo $PATH
- echo $LD_LIBRARY_PATH

script:
- cmake -DBUILD_onlinemon=ON ..
- cd build
- cmake -DBUILD_AHCAL=$BUILD_AHCAL -DBUILD_BIFAHCAL=$BUILD_BIFAHCAL -DBUILD_TESTING=$BUILD_TESTING -DBUILD_WITH_QT4=$BUILD_WITH_QT4 -DBUILD_allproducer=$BUILD_allproducer -DBUILD_altro=$BUILD_altro -DBUILD_altroUSB=$BUILD_altroUSB -DBUILD_apixct=$BUILD_apixct -DBUILD_calice=$BUILD_calice -DBUILD_ccpdlf=$BUILD_ccpdlf -DBUILD_clicpix=$BUILD_clicpix -DBUILD_cmspixel=$BUILD_cmspixel -DBUILD_depfet=$BUILD_depfet -DBUILD_eudrb=$BUILD_eudrb -DBUILD_example=$BUILD_example -DBUILD_explorer=$BUILD_explorer -DBUILD_fortis=$BUILD_fortis -DBUILD_gui=$BUILD_gui -DBUILD_main=$BUILD_main -DBUILD_manual=$BUILD_manual -DBUILD_mimoroma=$BUILD_mimoroma -DBUILD_mimosa32=$BUILD_mimosa32 -DBUILD_miniTLU=$BUILD_miniTLU -DBUILD_mupix=$BUILD_mupix -DBUILD_mvd=$BUILD_mvd -DBUILD_ni=$BUILD_ni -DBUILD_nreader=$BUILD_nreader -DBUILD_offlinemon=$BUILD_offlinemon -DBUILD_onlinemon=$BUILD_onlinemon -DBUILD_palpidefs=$BUILD_palpidefs -DBUILD_palpidess=$BUILD_palpidess -DBUILD_pixelmanproducer=$BUILD_pixelmanproducer -DBUILD_pybar=$BUILD_pybar -DBUILD_python=$BUILD_python -DBUILD_root=$BUILD_root -DBUILD_taki=$BUILD_taki -DBUILD_timepixdummy=$BUILD_timepixdummy -DBUILD_tlu=$BUILD_tlu -DBUILD_usbpix=$BUILD_usbpix ..
- make install

before_deploy:
- source .travis/before_deploy.sh

deploy:
provider: releases
api_key: "Vl1KT9zHLc/d3oBKQuS1PyD849kXOZe8mvP+BW2ocvh/SjyyFrFoPUw/0GvsO+cbqH1+HYIki5N3Tkeb5AZtehqc7oqPCLPQI6fxk3eEYugcR0wYgBprlQB5PyvobZgR8Eq9R95tlJgX1ukOlpINmENF9b9/cPzEqCUhbW0+kwdcsalxb7NsDZUBFeu3cBeTqrIDzv1eO582uUk3MssHJ+18jt7rdaQGhY2lyNdpsXTUEuYdiE2TJ4xr7Yk2akN5PSvi0PHeq+LB7t07olan2yi6EqLJHHF2Th28Qgf4YT5BUjpF4kQy2xQzRwyQIg6X0Z34OuB+Q74Ku/vcvqi/oS+oiciIaGoGKQ5TK4tDRZIs0XvyamXafXKSqYahoDD92rPQ2ewZHvb/ivKjYLAED3sB4M5EMGxrwWUlAYEj3QSYZRDugjz2FhMPIswnCiMeSxFTaWQs54hymP5xLo9gNiXrInM4HIhwYjv12uH9X3YrBi8+7As1MOsP21vDhU7VegM2/L1jQkYj+E1nEtBzG3Z3hpc4dav0opT6pGjQ6M/CKyusyIBeHAdTLU3i0JWLD0SdJQemsLd1dx0LlXPZe3Z7svww8VVX3w6xlgjRFYYtlTHyElTanxg//dcVpZBEEZNZBbArgDNtZxNjY7qgYankxitUT9Kj3DWNjnynzjo="
file_glob: true
file: "${FILE_TO_UPLOAD_1}"
skip_cleanup: true
on:
tags: true
condition: "$BUILD_manual = ON"
150 changes: 150 additions & 0 deletions .travis/before_install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
#!/bin/bash

echo $CXX --version
echo $CC --version

if [[ $TRAVIS_OS_NAME == 'osx' ]]; then

# OS X: update brew cache:
brew update || brew update
brew outdated openssl || brew upgrade openssl

brew unlink cmake python python3

if [[ "$CC" == "gcc" ]]; then CC=gcc-4.9; fi

if [[ $OPTION == 'modern' ]]; then
export ROOT_FILENAME=${ROOT6_FILENAME_MAC}
# install pyenv
# https://github.com/pyca/cryptography/blob/master/.travis/install.sh
git clone https://github.com/yyuu/pyenv.git ~/.pyenv
PYENV_ROOT="$HOME/.pyenv"
PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

pyenv install ${PYTHON_VERSION_MODERN}
pyenv global ${PYTHON_VERSION_MODERN}

pyenv rehash
python -m pip install --user virtualenv

python -m virtualenv ~/.venv
source ~/.venv/bin/activate

pip install --upgrade pip
pip install -q numpy

else
export ROOT_FILENAME=${ROOT5_FILENAME_MAC}
# install pyenv
# https://github.com/pyca/cryptography/blob/master/.travis/install.sh
git clone https://github.com/yyuu/pyenv.git ~/.pyenv
PYENV_ROOT="$HOME/.pyenv"
PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

pyenv install ${PYTHON_VERSION_OLD}
pyenv global ${PYTHON_VERSION_OLD}

pyenv rehash
python -m pip install --user virtualenv

python -m virtualenv ~/.venv
source ~/.venv/bin/activate

pip install --upgrade pip
pip install -q numpy
fi
export CMAKE_FILENAME=${CMAKE_FILENAME_MAC}

echo "Installing root now"
wget https://root.cern.ch/download/$ROOT_FILENAME
tar -xvf $ROOT_FILENAME
source root/bin/thisroot.sh

echo "Installing cmake now"
wget ${CMAKE_DOWNLOAD_PATH}/$CMAKE_FILENAME
tar xfz $CMAKE_FILENAME
export PATH="`pwd`/${CMAKE_FILENAME%%.tar.gz}/CMake.app/Contents/bin":$PATH:
echo $PATH

echo "Installing openafs now"
wget ${OPENAFS_DOWNLOAD_PATH_MAC}/$OPENAFS_FILENAME_MAC
sudo hdiutil attach $OPENAFS_FILENAME_MAC
#ls /Volumes/OpenAFS/
sudo installer -package /Volumes/OpenAFS/OpenAFS.pkg -target /
sudo hdiutil detach /Volumes/OpenAFS
sudo launchctl start org.openafs.filesystems.afs
#tar xfz $OPENAFS_FILENAME_MAC
#export PATH="`pwd`/${CMAKE_FILENAME%%.tar.gz}/CMake.app/Contents/bin":$PATH:
#echo $PATH

else
if [[ $OPTION == 'modern' ]]; then
export ROOT_FILENAME=${ROOT6_FILENAME_LINUX}

export PIP_REQUIRE_VIRTUALENV=true

pyenv install ${PYTHON_VERSION_MODERN}
pyenv global ${PYTHON_VERSION_MODERN}
pyenv versions

git clone https://github.com/yyuu/pyenv-pip-rehash.git ~/.pyenv/plugins/pyenv-pip-rehash
git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
#eval "$(pyenv init -)"
#eval "$(pyenv virtualenv-init -)"
pyenv init
pyenv virtualenv-init
#pyenv virtualenv-init -

pyenv virtualenv ${PYTHON_VERSION_MODERN} my-virtual-env
pyenv virtualenvs
pyenv activate my-virtual-env


pip install --upgrade pip
#pip install virtualenvwrapper
#pyvenv venv
#pyenv virtualenvs
#source venv/bin/activate
#pyenv activate venv
pip install -q numpy
#pyenv rehash
else
export ROOT_FILENAME=${ROOT5_FILENAME_LINUX}

pyenv install ${PYTHON_VERSION_OLD}
pyenv global ${PYTHON_VERSION_OLD}
pyenv versions

git clone https://github.com/yyuu/pyenv-pip-rehash.git ~/.pyenv/plugins/pyenv-pip-rehash
git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
pyenv init
pyenv virtualenv-init
#pyenv virtualenv-init -

pyenv virtualenv ${PYTHON_VERSION_OLD} my-virtual-env
pyenv virtualenvs
pyenv activate my-virtual-env


pip install --upgrade pip
pip install virtualenvwrapper
#pyvenv venv
#pyenv virtualenvs
#source venv/bin/activate
#pyenv activate venv
pip install -q numpy
#pyenv rehash
fi

echo "Installing root now"
wget https://root.cern.ch/download/$ROOT_FILENAME
tar -xvf $ROOT_FILENAME
source root/bin/thisroot.sh

#workaround as openafs in the normal is broken in the moment - kernel module does not compile
sudo add-apt-repository -y ppa:openafs/stable
sudo apt-get -qq update
fi

Loading

0 comments on commit 6f9b25c

Please sign in to comment.