diff --git a/.github/workflows/build-ci.yml b/.github/workflows/build-ci.yml index 3239ecb..74dd830 100644 --- a/.github/workflows/build-ci.yml +++ b/.github/workflows/build-ci.yml @@ -9,11 +9,11 @@ on: jobs: build: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 strategy: fail-fast: false matrix: - python-version: [ "3.8", "3.9", "3.10", "3.11" ] + python-version: [ "3.9", "3.10", "3.11", "3.12"] # not yet working: "3.12"?? steps: - uses: actions/checkout@v4 @@ -40,6 +40,7 @@ jobs: pip install pyneuroml pip install pybind11[global] pip install python-libsbml + pip install pint sudo apt-get install libhdf5-dev @@ -50,6 +51,13 @@ jobs: echo "MOOSE version:" python -c "import moose; print(moose.__version__)" + + - name: Install numpy < 2 if necessary... + if: ${{ matrix.python-version == '3.11' }} + run: | + pip install "numpy<2" + pip list + - name: Test Moose files run: | python tests/python/test_function.py diff --git a/.github/workflows/ci_pip.yml b/.github/workflows/ci_pip.yml index a8a5ab1..4b3321e 100644 --- a/.github/workflows/ci_pip.yml +++ b/.github/workflows/ci_pip.yml @@ -11,11 +11,12 @@ on: jobs: build: - runs-on: ubuntu-latest + runs-on: ${{ matrix.runs-on }} strategy: fail-fast: false matrix: - python-version: [ 3.7, 3.9, "3.10" ] + runs-on: [ubuntu-latest, ubuntu-22.04] + python-version: ["3.9", "3.10", "3.11", "3.12"] # not yet working: "3.12"?? steps: - uses: actions/checkout@v4 @@ -25,14 +26,22 @@ jobs: python-version: ${{ matrix.python-version }} + - name: Install numpy < 2 if necessary... + run: | + pip install "numpy<2" + pip list + - name: Install Moose run: | - pip install pyneuroml scipy # missing(?) dependencies + pip install setuptools --upgrade # needed for Eden on py 3.12 + + pip install pyneuroml scipy pint # missing(?) dependencies pip install pymoose pip list + - name: Test Moose files run: | python tests/python/test_function.py @@ -51,6 +60,20 @@ jobs: cd NeuroML2 python run_hhcell.py -nogui + + - name: Install OMV + run: | + pip install git+https://github.com/OpenSourceBrain/osb-model-validation + pip install scipy sympy matplotlib cython pandas tables + + - name: Run OMV tests + run: | + # Remove test that fails on ubuntu-latest due to jNeuroML_EDEN issues + if [[ ${{ matrix.runs-on }} == "ubuntu-latest" ]] ; then rm ./NeuroML2/GranuleCell/.test.jnmleden.omt ; fi ; + omv all -V + - name: Final version info run: | + + omv list -V # list installed engines pip list diff --git a/.github/workflows/ci_pre_pip.yml b/.github/workflows/ci_pre_pip.yml index ffb6206..2654742 100644 --- a/.github/workflows/ci_pre_pip.yml +++ b/.github/workflows/ci_pre_pip.yml @@ -11,10 +11,11 @@ on: jobs: build: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 # for eden test... strategy: + fail-fast: false matrix: - python-version: [ 3.9 ] + python-version: ["3.9", "3.10", "3.11", "3.12"] # not yet working: "3.12"?? steps: - uses: actions/checkout@v4 @@ -27,11 +28,16 @@ jobs: - name: Install Moose run: | - pip install pyneuroml scipy # missing(?) dependencies + pip install pyneuroml scipy pint # missing(?) dependencies pip install pymoose --pre pip list + - name: Install numpy < 2 if necessary... + run: | + if [[ ${{ matrix.python-version }} == '3.11' ]] || [[ ${{ matrix.python-version }} == '3.12' ]]; then pip install "numpy<2" ; fi ; + pip list + - name: Test Moose files run: | python tests/python/test_function.py @@ -54,6 +60,10 @@ jobs: pip install git+https://github.com/OpenSourceBrain/osb-model-validation pip install scipy sympy matplotlib cython pandas tables + - name: Run OMV tests + run: | + omv all -V + - name: Final version info run: | diff --git a/.github/workflows/omv-ci.yml b/.github/workflows/omv-ci.yml index ba922eb..509fcbe 100644 --- a/.github/workflows/omv-ci.yml +++ b/.github/workflows/omv-ci.yml @@ -3,18 +3,18 @@ name: Continuous build using OMV on: push: - branches: [ master, development, experimental ] + branches: [ master, development, experimental, test* ] pull_request: - branches: [ master, development, experimental ] + branches: [ master, development, experimental, test* ] jobs: build: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 strategy: fail-fast: false matrix: - python-version: [ 3.9 ] + python-version: [ "3.9", "3.10", "3.11"] # not yet working: "3.12"?? engine: [ jNeuroML, jNeuroML_NEURON, jNeuroML_validate, jNeuroML_Moose, jNeuroML_EDEN, jNeuroML_NetPyNE ] steps: @@ -25,10 +25,18 @@ jobs: with: python-version: ${{ matrix.python-version }} + + - name: Install numpy < 2 if necessary... + run: | + if [[ ${{ matrix.engine }} == *"MOOSE"* ]] || [[ ${{ matrix.engine }} == *"Moose"* ]]; then pip install "numpy<2" ; fi ; + pip list + - name: Install OMV run: | pip install git+https://github.com/OpenSourceBrain/osb-model-validation pip install scipy sympy matplotlib cython pandas tables + pip install setuptools --upgrade # needed for Eden on py 3.12 + - name: Run OMV tests on engine ${{ matrix.engine }} run: | diff --git a/NeuroML2/test_files/.test.hh.jnmlmoose.omt b/NeuroML2/test_files/.test.hh.jnmlmoose.omt index 90e43fe..88ba65e 100644 --- a/NeuroML2/test_files/.test.hh.jnmlmoose.omt +++ b/NeuroML2/test_files/.test.hh.jnmlmoose.omt @@ -14,4 +14,4 @@ experiments: spike detection: method: threshold threshold: 0 - tolerance: 0.0009566968781470178 + tolerance: 0.0014602215508559518