-
Notifications
You must be signed in to change notification settings - Fork 361
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor Connection Generator Interface #483
Changes from 52 commits
c3ebdc1
81a7b80
dfa85ea
5a09f25
d6f5f83
559f19e
21673cb
7cb0a6c
aa89e2f
ba492b9
ec4228b
0ce01ad
15a6ae7
d97f9d2
4a495c2
be137b7
2ad63c6
4cdf1fa
38e956b
14bcb73
7cce626
f1769dd
3fb44f2
b0002e4
37238a1
8e44cd1
04cd821
8c9cbc0
e61e3d5
666d13c
19b7523
6b34935
64dc2df
a747327
a43e421
0136fd7
0adc52b
9342411
3344b9b
41442b8
c785823
2a66348
a1bd9fe
9770a71
44e8881
5874b78
2a774a2
292f690
4ba0af1
77915a1
29d9d3a
b3e2b89
49d1503
fbd8434
bd2fdfe
84d73c1
1541185
fb3e1af
fe44089
0066013
43e8d6a
12a3e9a
a411748
a835bd4
80c9d62
9601223
70d77c4
156b88b
892c7fe
1cf4325
5898e37
1e423f5
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,22 +1,22 @@ | ||
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. | ||
# independent. This means we only need a minimal and maximal configuration | ||
# and some additional jobs for interdependent options. | ||
# 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 xMUSIC=0 xSTATIC_ANALYSIS=1 CACHE_NAME=JOB # minimal | ||
- xTHREADING=0 xMPI=1 xGSL=0 xLTDL=1 xREADLINE=1 xPYTHON=0 xMUSIC=0 xSTATIC_ANALYSIS=1 CACHE_NAME=JOB # only MPI | ||
- xTHREADING=1 xMPI=0 xGSL=0 xLTDL=1 xREADLINE=1 xPYTHON=0 xMUSIC=0 xSTATIC_ANALYSIS=1 CACHE_NAME=JOB # only threading | ||
- xTHREADING=1 xMPI=0 xGSL=0 xLTDL=0 xREADLINE=0 xPYTHON=1 xMUSIC=0 xSTATIC_ANALYSIS=1 CACHE_NAME=JOB # Python & Threading | ||
- xTHREADING=0 xMPI=1 xGSL=0 xLTDL=0 xREADLINE=0 xPYTHON=1 xMUSIC=0 xSTATIC_ANALYSIS=1 CACHE_NAME=JOB # Python & MPI | ||
- xTHREADING=0 xMPI=0 xGSL=0 xLTDL=0 xREADLINE=0 xPYTHON=1 xMUSIC=0 xSTATIC_ANALYSIS=1 CACHE_NAME=JOB # only Python | ||
- xTHREADING=1 xMPI=1 xGSL=1 xLTDL=1 xREADLINE=1 xPYTHON=1 xMUSIC=1 xSTATIC_ANALYSIS=1 CACHE_NAME=JOB # full | ||
- xTHREADING=0 xMPI=0 xGSL=0 xLIBNEUROSIM=0 xLTDL=0 xREADLINE=0 xPYTHON=0 xMUSIC=0 xSTATIC_ANALYSIS=1 CACHE_NAME=JOB # minimal | ||
- xTHREADING=0 xMPI=1 xGSL=0 xLIBNEUROSIM=0 xLTDL=1 xREADLINE=1 xPYTHON=0 xMUSIC=0 xSTATIC_ANALYSIS=1 CACHE_NAME=JOB # only MPI | ||
- xTHREADING=1 xMPI=0 xGSL=0 xLIBNEUROSIM=0 xLTDL=1 xREADLINE=1 xPYTHON=0 xMUSIC=0 xSTATIC_ANALYSIS=1 CACHE_NAME=JOB # only threading | ||
- xTHREADING=1 xMPI=0 xGSL=0 xLIBNEUROSIM=0 xLTDL=0 xREADLINE=0 xPYTHON=1 xMUSIC=0 xSTATIC_ANALYSIS=1 CACHE_NAME=JOB # Python & Threading | ||
- xTHREADING=0 xMPI=1 xGSL=0 xLIBNEUROSIM=0 xLTDL=0 xREADLINE=0 xPYTHON=1 xMUSIC=0 xSTATIC_ANALYSIS=1 CACHE_NAME=JOB # Python & MPI | ||
- xTHREADING=0 xMPI=0 xGSL=0 xLIBNEUROSIM=0 xLTDL=0 xREADLINE=0 xPYTHON=1 xMUSIC=0 xSTATIC_ANALYSIS=1 CACHE_NAME=JOB # only Python | ||
- xTHREADING=1 xMPI=1 xGSL=1 xLIBNEUROSIM=1 xLTDL=1 xREADLINE=1 xPYTHON=1 xMUSIC=1 xSTATIC_ANALYSIS=1 CACHE_NAME=JOB # full | ||
matrix: | ||
# do notify immediately about it when a job of a build fails. | ||
fast_finish: true | ||
|
@@ -29,16 +29,17 @@ before_install: | |
- cd $HOME/build | ||
- echo $PATH | ||
|
||
# update package repository status (-qq is more quiet) | ||
# Update package repository status | ||
- sudo rm -rf /var/lib/apt/lists/* | ||
- ls /etc/apt/sources.list.d/ | ||
- sudo apt-get update -qq | ||
|
||
# remove any obsolete libraries | ||
# Remove obsolete packages | ||
- 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 dependencies (see http://www.nest-simulator.org/installation) | ||
- 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 | ||
|
@@ -61,6 +62,22 @@ before_install: | |
# process json output from github api | ||
- sudo apt-get install -y jq | ||
|
||
# Install libneurosim | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Does this mean that libneurosim is always installed? I don't see a conditional on xLIBNEUROSIM There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. As this is in accordance with the handling of all other dependencies, I would not want to change this here and rather do this in a refactoring of the whole dependency handling. A good opportunity is probably when we move to a Docker-based setup. |
||
- git clone https://github.com/INCF/libneurosim.git | ||
- cd libneurosim | ||
- ./autogen.sh | ||
- ./configure --prefix=$HOME/.cache/libneurosim.install --with-mpi | ||
- make | ||
- make install | ||
- cd $HOME/build | ||
|
||
# Install csa | ||
- git clone https://github.com/INCF/csa.git | ||
- cd csa | ||
- ./autogen.sh | ||
- ./configure --with-libneurosim=$HOME/.cache/libneurosim.install --prefix=$HOME/.cache/csa.install | ||
- cd $HOME/build | ||
|
||
# Install MUSIC | ||
- sudo apt-get install -y python-mpi4py | ||
- git clone https://github.com/INCF/MUSIC.git music | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -62,6 +62,12 @@ else | |
CONFIGURE_READLINE="-Dwith-readline=OFF" | ||
fi | ||
|
||
if [ "$xLIBNEUROSIM" = "1" ] ; then | ||
CONFIGURE_LIBNEUROSIM="-Dwith-libneurosim=$HOME/.cache/libneurosim.install" | ||
else | ||
CONFIGURE_LIBNEUROSIM="-Dwith-libneurosim=OFF" | ||
fi | ||
|
||
|
||
|
||
NEST_VPATH=build | ||
|
@@ -228,6 +234,7 @@ cmake \ | |
$CONFIGURE_GSL \ | ||
$CONFIGURE_LTDL \ | ||
$CONFIGURE_READLINE \ | ||
$CONFIGURE_LIBNEUROSIM \ | ||
.. | ||
echo "======= Configure NEST end =======" | ||
|
||
|
@@ -240,6 +247,7 @@ make install | |
echo "======= Install NEST end =======" | ||
|
||
echo "======= Test NEST start =======" | ||
export PYTHONPATH=$HOME/.cache/csa.install/lib/python2.7/site-packages:$PYTHONPATH | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Hard coded python version There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. w-klijn, indeed, but this has already been reworked and improved in the latest version. |
||
make installcheck | ||
echo "======= Test NEST end =======" | ||
|
||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's not related to this PR, but it looks like you do want a matrix for Python, mpi and threading. In the current setup mpi, threading and python are not tested in isolation.
You would then only need a single manual job
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Part of what you suggest was done in #409 and #640. More is to come in #789.