forked from nest/nest-simulator
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path.travis.yml
108 lines (87 loc) · 2.82 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
101
102
103
104
105
106
107
language: generic
#For Ubuntu Trusty (14.04 LTS)
sudo: required
dist: trusty
env:
matrix:
- xGSL=0 xMPI=0 xPYTHON=0
- xGSL=0 xMPI=0 xPYTHON=1
- xGSL=0 xMPI=1 xPYTHON=0
- xGSL=0 xMPI=1 xPYTHON=1
- xGSL=1 xMPI=0 xPYTHON=0
- xGSL=1 xMPI=0 xPYTHON=1
- xGSL=1 xMPI=1 xPYTHON=0
- xGSL=1 xMPI=1 xPYTHON=1
matrix:
# do notify immediately about it when a job of a build fails.
fast_finish: true
cache:
apt: true
ccache: true
pip: true
before_install:
- echo $PATH
# get repository for clang-3.6 stuff (including clang-format-3.6)
- sudo sh -c 'echo -n "deb http://llvm.org/apt/trusty/ llvm-toolchain-trusty-3.6 main" >> /etc/apt/sources.list'
# add key from ^ repository
- wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add -
# 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 libllvm3.6 clang-format-3.6 vera++
# 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