Skip to content

Merge branch 'development' into experimental #331

Merge branch 'development' into experimental

Merge branch 'development' into experimental #331

Workflow file for this run

name: Continuous builds
on:
push:
branches: [ master, development, experimental, modelspec ]
pull_request:
branches: [ master, development, experimental, modelspec ]
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.8", "3.9", "3.10", "3.11"]
env:
JNML_HOME: "/home/runner/work/NeuroMLlite/NeuroMLlite/jNeuroML"
HDF5_DISABLE_VERSION_CHECK: 1
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install some dependencies
run: |
python -m pip install --upgrade pip
pip install flake8
- name: Install NeuroMLlite and extra requirements
run: |
pip install .
pip install -r requirements-extra.txt
pip install 'numpy<=1.23.0' # temp fix, see https://github.com/OpenSourceBrain/osb-model-validation/issues/91
- name: Lint with flake8
run: |
flake8 . --count --exit-zero --show-source --max-line-length=127 --statistics
- name: Install correct branch of pyneuroml etc.
run: |
env
# Check to see if on development/experimental branches
export jnml_branches="development"
export pynml_branch="development"
echo "JNML_HOME: $JNML_HOME"
echo "Will use jNeuroML from branches $jnml_branches"
echo "Will use pyNeuroML from branch $pynml_branch"
# Install pyNeuroML
git clone https://github.com/NeuroML/pyNeuroML.git
cd pyNeuroML
git checkout $pynml_branch
pip install pandas==1.3.5
pip install NEURON==8.2.2 # Specify version of neuron - 8.2.1 fails
#pip install -r requirements-dev.txt
pip install .
cd -
# Install latest jnml...
git clone https://github.com/NeuroML/jNeuroML.git
cd jNeuroML
git checkout $jnml_branches
python getNeuroML.py $jnml_branches # will call mvn install on this & other repos
echo "Installed!"
ls -alth
export PATH=$PATH:$JNML_HOME
./jnml -v
which jnml
env
cd ..
- name: List packages so far
run: |
pip list
- name: Install OMV
run: |
# Install OMV
pip install git+https://github.com/OpenSourceBrain/osb-model-validation
export PATH=$PATH:$JNML_HOME
omv list -V # list all currently known...
env
- name: Install some simulators for testing
run: |
#pip install cython
omv install NEURON
pip install NetPyNE # strange issues on py3.7 with omv install...
omv install PyNN
omv install jNeuroML
omv install Brian2
omv install arbor
omv install eden
#### HDF5_DISABLE_VERSION_CHECK set globally...
#pip uninstall h5py -y
#sudo apt install -y python3-h5py # issue when building nest
#export HDF5_DISABLE_VERSION_CHECK=1
if [[ ${{ matrix.python-version }} != 2.7 ]]; then omv install PyNEST; fi
#pip install h5py
omv list -V # list installed engines
- name: Run pytest
run: |
pip install pytest tables # tables for Sonata test file
cd neuromllite/test/
pytest -v
- name: Regenerate and test
run: |
export PATH=$PATH:$JNML_HOME
export NEURON_HOME=$pythonLocation
env
echo "===================="
# All tests
./regenerateAndTest.sh
- name: Run OMV tests
run: |
omv all -V --engine=jNeuroML # limited for now, issues with nest...
omv all -V --engine=jNeuroML_NEURON # limited for now, issues with nest...
- name: OMV final version info
run: |
omv list -V # list installed engines