Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
dae4453
To pynn 0.11.0
pgleeson Sep 21, 2023
162941e
Initial tests...
pgleeson Sep 21, 2023
3730c37
Updated to use neurodebian:jammy
pgleeson Sep 22, 2023
80b6718
Tweak for ca1 model
pgleeson Sep 22, 2023
c0d472f
Update omv & brian versions
pgleeson Sep 26, 2023
16fa25c
Update gha version
pgleeson May 1, 2024
10e67a0
Merge pull request #8 from NeuralEnsemble/master
pgleeson May 2, 2024
1ca478a
Merge branch 'master' into test_pynn011
pgleeson May 2, 2024
a504baf
Update to latest omv versions
pgleeson May 2, 2024
4370374
Test latest omv
pgleeson Jun 11, 2024
cfcba0b
Bump version of pyneuroml to use
pgleeson Jun 11, 2024
0e83ed8
Ensure numpy<2.0.0
pgleeson Jun 17, 2024
f98bcb7
Merge branch 'test_pynn011' of github.com:pgleeson/neuralensemble-doc…
pgleeson Jun 17, 2024
b807c84
Use latest omv and pyneuroml
pgleeson Jun 18, 2024
2c0a370
Use pip install...
pgleeson Aug 19, 2024
c033049
Update versions of pynml & omv
pgleeson Aug 20, 2024
7909b8b
Merge branch 'test_pynn011' of github.com:pgleeson/neuralensemble-doc…
pgleeson Aug 20, 2024
c34c12b
Update regenerateAll.sh
pgleeson Dec 19, 2024
ea6d727
Test arch
pgleeson Jun 13, 2025
2ddcc8a
Add more arch tests
pgleeson Jun 13, 2025
d0b7bbc
Test on ubuntu, mac and win
pgleeson Jun 13, 2025
a0403ef
Fixes for mac and win
pgleeson Jun 13, 2025
d042c67
More - shell: bash
pgleeson Jun 13, 2025
34596b8
No point in running win...
pgleeson Jun 13, 2025
a6be639
Test fewer processors (mac is v slow...)
pgleeson Jun 13, 2025
7c638e2
Remove macos-13 for now - takes too long
pgleeson Jun 13, 2025
cccda79
Merge pull request #17 from pgleeson/test_pynn011
pgleeson Jun 13, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 13 additions & 2 deletions .github/workflows/docker-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,21 @@ jobs:

build:

runs-on: ubuntu-latest
runs-on: ${{ matrix.runs-on }}
strategy:
fail-fast: false
matrix:
runs-on: [ubuntu-latest ] # macos-13 takes too long to build nest


steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Setup docker (missing on MacOS)
if: runner.os == 'macos'
run: |
brew install docker colima
colima start

- name: Build the base Docker image
run: |
Expand Down
2 changes: 1 addition & 1 deletion base/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# A base Docker image for Python-based computational neuroscience and neurophysiology
#

FROM neurodebian:focal
FROM neurodebian:jammy
MAINTAINER [email protected]

ENV DEBIAN_FRONTEND noninteractive
Expand Down
15 changes: 14 additions & 1 deletion base/regenerate.sh
Original file line number Diff line number Diff line change
@@ -1 +1,14 @@
docker build -t neuralensemble/base --no-cache .
#!/bin/bash
set -ex


# Set the platform flag if we're on ARM
arch=$(uname -m)
if [[ "$arch" == "arm64" || "$arch" == "aarch64" ]]; then
platform_flag="--platform linux/amd64"
else
platform_flag=""
fi


docker build $platform_flag -t neuralensemble/base --no-cache .
19 changes: 10 additions & 9 deletions osb/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ MAINTAINER [email protected]
USER root

RUN apt-get update
RUN apt-get install -y default-jdk python-tk python-lxml octave maven
RUN apt-get install -y default-jdk python-tk octave maven
RUN apt-get install -y htop libxml2-dev libxslt-dev zlib1g-dev
RUN apt-get install -y python3-setuptools unzip

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

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

ENV PYNEUROML_VER=1.1.1
ENV NETPYNE_VER=1.0.5
ENV EDEN_VER=0.2.2
ENV PYNEUROML_VER=1.3.8
ENV NETPYNE_VER=1.0.6
# omv install arbor with 0.9.0 throwing 'Illegal instruction'..?
ENV ARBOR_VER=0.8.1


# Install NeuroML Python libraries
Expand Down Expand Up @@ -82,7 +83,7 @@ RUN $VENV/bin/pip install netpyne==$NETPYNE_VER
# Install OSB_API

RUN git clone https://github.com/OpenSourceBrain/OSB_API.git
RUN cd OSB_API/python && python setup.py install && cd -
RUN cd OSB_API/python && pip install . && cd -


# Install neuroConstruct
Expand All @@ -97,18 +98,18 @@ RUN omv install moose

# Install Arbor

RUN omv install arbor
RUN omv install arbor:$ARBOR_VER

# Install EDEN

RUN $VENV/bin/pip install eden-simulator==$EDEN_VER
RUN omv install eden


USER root

RUN which python

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

# Some aliases

Expand Down
15 changes: 14 additions & 1 deletion osb/generate.sh
Original file line number Diff line number Diff line change
@@ -1 +1,14 @@
docker build -t neuralensemble/osb .
#!/bin/bash
set -ex


# Set the platform flag if we're on ARM
arch=$(uname -m)
if [[ "$arch" == "arm64" || "$arch" == "aarch64" ]]; then
platform_flag="--platform linux/amd64"
else
platform_flag=""
fi


docker build $platform_flag -t neuralensemble/osb .
15 changes: 14 additions & 1 deletion osb/regenerate.sh
Original file line number Diff line number Diff line change
@@ -1,2 +1,15 @@
docker build -t neuralensemble/osb --no-cache .
#!/bin/bash
set -ex


# Set the platform flag if we're on ARM
arch=$(uname -m)
if [[ "$arch" == "arm64" || "$arch" == "aarch64" ]]; then
platform_flag="--platform linux/amd64"
else
platform_flag=""
fi


docker build $platform_flag -t neuralensemble/osb --no-cache .

1 change: 1 addition & 0 deletions osb/regenerateAll.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,4 @@ cd ../simulationx
cd ../osb

./regenerate.sh

3 changes: 2 additions & 1 deletion osb_models/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@ RUN cd coreprojects/SmithEtAl2013-L23DendriticSpikes/NEURON/test && nrnivmodl ..

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

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

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

Expand Down
15 changes: 14 additions & 1 deletion osb_models/generate.sh
Original file line number Diff line number Diff line change
@@ -1 +1,14 @@
docker build -t osb_models_new .
#!/bin/bash
set -ex


# Set the platform flag if we're on ARM
arch=$(uname -m)
if [[ "$arch" == "arm64" || "$arch" == "aarch64" ]]; then
platform_flag="--platform linux/amd64"
else
platform_flag=""
fi


docker build $platform_flag -t osb_models_new .
15 changes: 14 additions & 1 deletion osb_models/regenerate.sh
Original file line number Diff line number Diff line change
@@ -1 +1,14 @@
docker build -t osb_models_new --no-cache .
#!/bin/bash
set -ex


# Set the platform flag if we're on ARM
arch=$(uname -m)
if [[ "$arch" == "arm64" || "$arch" == "aarch64" ]]; then
platform_flag="--platform linux/amd64"
else
platform_flag=""
fi


docker build $platform_flag -t osb_models_new --no-cache .
9 changes: 9 additions & 0 deletions osb_models/regenerateAll.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
set -e

cd ../osb

./regenerateAll.sh

cd ../osb_models

./regenerate.sh
10 changes: 5 additions & 5 deletions simulation/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ RUN ln -s /usr/bin/2to3-3.5 $VENV/bin/2to3

#### Set versions

ENV NEST_VER=3.3
ENV NRN_VER=8.1.0
ENV BRIAN2_VER=2.5.1
ENV PYNN_VER=0.10.1
ENV NEST_VER=3.5
ENV NRN_VER=8.2.2
ENV BRIAN2_VER=2.5.4
ENV PYNN_VER=0.11.0


#### Install NEST
Expand Down Expand Up @@ -43,7 +43,7 @@ RUN mkdir $NEST; \
-DPYTHON_LIBRARY=$VENV/lib/libpython3.8.so \
-DPYTHON_INCLUDE_DIR=/usr/include/python3.8 \
$HOME/packages/$NEST; \
make -j7; make install
make -j4; make install


#### Install NEURON
Expand Down
15 changes: 14 additions & 1 deletion simulation/generate.sh
Original file line number Diff line number Diff line change
@@ -1 +1,14 @@
docker build -t neuralensemble/simulation .
#!/bin/bash
set -ex


# Set the platform flag if we're on ARM
arch=$(uname -m)
if [[ "$arch" == "arm64" || "$arch" == "aarch64" ]]; then
platform_flag="--platform linux/amd64"
else
platform_flag=""
fi


docker build $platform_flag -t neuralensemble/simulation .
15 changes: 14 additions & 1 deletion simulation/regenerate.sh
Original file line number Diff line number Diff line change
@@ -1 +1,14 @@
docker build -t neuralensemble/simulation --no-cache .
#!/bin/bash
set -ex


# Set the platform flag if we're on ARM
arch=$(uname -m)
if [[ "$arch" == "arm64" || "$arch" == "aarch64" ]]; then
platform_flag="--platform linux/amd64"
else
platform_flag=""
fi


docker build $platform_flag -t neuralensemble/simulation --no-cache .
15 changes: 14 additions & 1 deletion simulationx/generate.sh
Original file line number Diff line number Diff line change
@@ -1 +1,14 @@
docker build -t neuralensemble/simulationx .
#!/bin/bash
set -ex


# Set the platform flag if we're on ARM
arch=$(uname -m)
if [[ "$arch" == "arm64" || "$arch" == "aarch64" ]]; then
platform_flag="--platform linux/amd64"
else
platform_flag=""
fi


docker build $platform_flag -t neuralensemble/simulationx .
15 changes: 14 additions & 1 deletion simulationx/regenerate.sh
Original file line number Diff line number Diff line change
@@ -1 +1,14 @@
docker build -t neuralensemble/simulationx --no-cache .
#!/bin/bash
set -ex


# Set the platform flag if we're on ARM
arch=$(uname -m)
if [[ "$arch" == "arm64" || "$arch" == "aarch64" ]]; then
platform_flag="--platform linux/amd64"
else
platform_flag=""
fi


docker build $platform_flag -t neuralensemble/simulationx --no-cache .