forked from nest/nest-simulator
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
100 lines (81 loc) · 2.93 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
language: generic
#For Ubuntu Trusty (14.04 LTS)
sudo: required
dist: trusty
env:
matrix:
# We don't have to run a full matrix here, because most of the options are
# independent. This means that we can test them together in the full build.
# See also https://docs.travis-ci.com/user/caching/#Caches-and-build-matrices
- xTHREADING=0 xMPI=0 xGSL=0 xLTDL=0 xREADLINE=0 xPYTHON=0 xSTATIC_ANALYSIS=1 CACHE_NAME=JOB # minimal
- xTHREADING=0 xMPI=1 xGSL=0 xLTDL=1 xREADLINE=1 xPYTHON=0 xSTATIC_ANALYSIS=1 CACHE_NAME=JOB # only MPI
- xTHREADING=1 xMPI=0 xGSL=0 xLTDL=1 xREADLINE=1 xPYTHON=0 xSTATIC_ANALYSIS=1 CACHE_NAME=JOB # only threading
- xTHREADING=1 xMPI=1 xGSL=1 xLTDL=1 xREADLINE=1 xPYTHON=1 xSTATIC_ANALYSIS=1 CACHE_NAME=JOB # full
matrix:
# do notify immediately about it when a job of a build fails.
fast_finish: true
cache:
directory:
- $HOME/.cache
before_install:
- echo $PATH
# update package repository status (-qq is more quiet)
- sudo rm -rf /var/lib/apt/lists/*
- ls /etc/apt/sources.list.d/
- sudo apt-get update -qq
# remove any obsolete libraries
- sudo apt-get autoremove
# from installation webpage http://www.nest-simulator.org/installation-2/#Standard_configuration
- sudo apt-get install -y build-essential cmake libltdl7-dev libreadline6-dev libncurses5-dev libgsl0-dev python-all-dev python-numpy python-scipy python-matplotlib ipython
# Install pip and cython
- wget https://bootstrap.pypa.io/get-pip.py
- sudo python get-pip.py
- sudo pip install -U setuptools
- pip install --user cython==0.23.4
# MPI
- sudo apt-get install -y openmpi-bin libopenmpi-dev
# python testsuite nosetests
- sudo apt-get install -y python-nose
# static code analysis
- sudo apt-get install -y vera++ pep8
# used for building cppcheck-1.69
- sudo apt-get install -y libpcre3 libpcre3-dev
# process json output from github api
- sudo apt-get install -y jq
install:
- which cython
- cython --version
- which python
- python --version
- which pip
- which cmake
- cmake --version
before_script:
- chmod +x build.sh
script:
- set -o pipefail
- ./build.sh 2>&1 | tee build.sh.log
- python extras/parse_travis_log.py build.sh.log
before_deploy:
- cd $TRAVIS_BUILD_DIR/build
- tar -zcvf logfiles.tar.gz ./*.log
- tar -zcvf reports.tar.gz ./reports
- mkdir -p $TRAVIS_BUILD_DIR/build/artefacts_upload
- mv logfiles.tar.gz $TRAVIS_BUILD_DIR/build/artefacts_upload
- mv reports.tar.gz $TRAVIS_BUILD_DIR/build/artefacts_upload
#S3 deployment
deploy:
provider: s3
access_key_id:
secure: $ARTIFACTS_KEY
secret_access_key:
secure: $ARTIFACTS_SECRET
bucket: "nest-travis-artefacts"
region: eu-central-1
skip_cleanup: true
on:
repo: nest/nest-simulator
branch: master
local-dir: "$TRAVIS_BUILD_DIR/build/artefacts_upload"
upload-dir: "$TRAVIS_REPO_SLUG/$TRAVIS_BUILD_NUMBER/$TRAVIS_JOB_NUMBER"
acl: bucket_owner_full_control