Skip to content

Commit 02d7928

Browse files
authored
Merge pull request #18 from NeuralEnsemble/test_pynn011
To NEST_VER=3.5, NRN_VER=8.2.2, BRIAN2_VER=2.5.4, PYNN_VER=0.11.0
2 parents 1343429 + cccda79 commit 02d7928

File tree

16 files changed

+167
-27
lines changed

16 files changed

+167
-27
lines changed

.github/workflows/docker-image.yml

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,21 @@ jobs:
1010

1111
build:
1212

13-
runs-on: ubuntu-latest
13+
runs-on: ${{ matrix.runs-on }}
14+
strategy:
15+
fail-fast: false
16+
matrix:
17+
runs-on: [ubuntu-latest ] # macos-13 takes too long to build nest
18+
1419

1520
steps:
16-
- uses: actions/checkout@v3
21+
- uses: actions/checkout@v4
22+
23+
- name: Setup docker (missing on MacOS)
24+
if: runner.os == 'macos'
25+
run: |
26+
brew install docker colima
27+
colima start
1728
1829
- name: Build the base Docker image
1930
run: |

base/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# A base Docker image for Python-based computational neuroscience and neurophysiology
33
#
44

5-
FROM neurodebian:focal
5+
FROM neurodebian:jammy
66
77

88
ENV DEBIAN_FRONTEND noninteractive

base/regenerate.sh

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,14 @@
1-
docker build -t neuralensemble/base --no-cache .
1+
#!/bin/bash
2+
set -ex
3+
4+
5+
# Set the platform flag if we're on ARM
6+
arch=$(uname -m)
7+
if [[ "$arch" == "arm64" || "$arch" == "aarch64" ]]; then
8+
platform_flag="--platform linux/amd64"
9+
else
10+
platform_flag=""
11+
fi
12+
13+
14+
docker build $platform_flag -t neuralensemble/base --no-cache .

osb/Dockerfile

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ MAINTAINER [email protected]
1414
USER root
1515

1616
RUN apt-get update
17-
RUN apt-get install -y default-jdk python-tk python-lxml octave maven
17+
RUN apt-get install -y default-jdk python-tk octave maven
1818
RUN apt-get install -y htop libxml2-dev libxslt-dev zlib1g-dev
1919
RUN apt-get install -y python3-setuptools unzip
2020

@@ -23,11 +23,12 @@ RUN /bin/bash -c "source ~/env/neurosci/bin/activate"
2323
#### Set versions
2424

2525
# This will set the versions of simulators installed with 'omv install ...'
26-
ENV OMV_VER=v0.2.13
26+
ENV OMV_VER=v0.3.3
2727

28-
ENV PYNEUROML_VER=1.1.1
29-
ENV NETPYNE_VER=1.0.5
30-
ENV EDEN_VER=0.2.2
28+
ENV PYNEUROML_VER=1.3.8
29+
ENV NETPYNE_VER=1.0.6
30+
# omv install arbor with 0.9.0 throwing 'Illegal instruction'..?
31+
ENV ARBOR_VER=0.8.1
3132

3233

3334
# Install NeuroML Python libraries
@@ -82,7 +83,7 @@ RUN $VENV/bin/pip install netpyne==$NETPYNE_VER
8283
# Install OSB_API
8384

8485
RUN git clone https://github.com/OpenSourceBrain/OSB_API.git
85-
RUN cd OSB_API/python && python setup.py install && cd -
86+
RUN cd OSB_API/python && pip install . && cd -
8687

8788

8889
# Install neuroConstruct
@@ -97,18 +98,18 @@ RUN omv install moose
9798

9899
# Install Arbor
99100

100-
RUN omv install arbor
101+
RUN omv install arbor:$ARBOR_VER
101102

102103
# Install EDEN
103104

104-
RUN $VENV/bin/pip install eden-simulator==$EDEN_VER
105+
RUN omv install eden
105106

106107

107108
USER root
108109

109110
RUN which python
110111

111-
RUN $VENV/bin/pip install 'numpy<=1.23.0' # see https://github.com/OpenSourceBrain/osb-model-validation/issues/91
112+
RUN $VENV/bin/pip install 'numpy<2.0.0' # as there are still some packages not compliant with this
112113

113114
# Some aliases
114115

osb/generate.sh

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,14 @@
1-
docker build -t neuralensemble/osb .
1+
#!/bin/bash
2+
set -ex
3+
4+
5+
# Set the platform flag if we're on ARM
6+
arch=$(uname -m)
7+
if [[ "$arch" == "arm64" || "$arch" == "aarch64" ]]; then
8+
platform_flag="--platform linux/amd64"
9+
else
10+
platform_flag=""
11+
fi
12+
13+
14+
docker build $platform_flag -t neuralensemble/osb .

osb/regenerate.sh

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,15 @@
1-
docker build -t neuralensemble/osb --no-cache .
1+
#!/bin/bash
2+
set -ex
3+
4+
5+
# Set the platform flag if we're on ARM
6+
arch=$(uname -m)
7+
if [[ "$arch" == "arm64" || "$arch" == "aarch64" ]]; then
8+
platform_flag="--platform linux/amd64"
9+
else
10+
platform_flag=""
11+
fi
12+
13+
14+
docker build $platform_flag -t neuralensemble/osb --no-cache .
215

osb/regenerateAll.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,4 @@ cd ../simulationx
1313
cd ../osb
1414

1515
./regenerate.sh
16+

osb_models/Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ RUN cd coreprojects/SmithEtAl2013-L23DendriticSpikes/NEURON/test && nrnivmodl ..
2727

2828
RUN cd coreprojects/L5bPyrCellHayEtAl2011/NEURON/test && nrnivmodl ../mod
2929

30-
RUN cd coreprojects/ca1/NeuroML2 && nrnivmodl ..
30+
# Note: sgate.mod is not required and throws an error on later NEURON versions
31+
RUN cd coreprojects/ca1 && rm sgate.mod && cd NeuroML2 && nrnivmodl ..
3132

3233
RUN cd coreprojects/SadehEtAl2017-InhibitionStabilizedNetworks && ./make_tests.sh
3334

osb_models/generate.sh

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,14 @@
1-
docker build -t osb_models_new .
1+
#!/bin/bash
2+
set -ex
3+
4+
5+
# Set the platform flag if we're on ARM
6+
arch=$(uname -m)
7+
if [[ "$arch" == "arm64" || "$arch" == "aarch64" ]]; then
8+
platform_flag="--platform linux/amd64"
9+
else
10+
platform_flag=""
11+
fi
12+
13+
14+
docker build $platform_flag -t osb_models_new .

osb_models/regenerate.sh

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,14 @@
1-
docker build -t osb_models_new --no-cache .
1+
#!/bin/bash
2+
set -ex
3+
4+
5+
# Set the platform flag if we're on ARM
6+
arch=$(uname -m)
7+
if [[ "$arch" == "arm64" || "$arch" == "aarch64" ]]; then
8+
platform_flag="--platform linux/amd64"
9+
else
10+
platform_flag=""
11+
fi
12+
13+
14+
docker build $platform_flag -t osb_models_new --no-cache .

0 commit comments

Comments
 (0)