diff --git a/.github/workflows/build-ci.yml b/.github/workflows/build-ci.yml index 3239ecb..4b75d52 100644 --- a/.github/workflows/build-ci.yml +++ b/.github/workflows/build-ci.yml @@ -9,16 +9,16 @@ 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 + - uses: actions/checkout@v6 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} @@ -40,8 +40,9 @@ jobs: pip install pyneuroml pip install pybind11[global] pip install python-libsbml + pip install pint - sudo apt-get install libhdf5-dev + sudo apt-get update && sudo apt-get install libhdf5-dev pip install . @@ -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..6e298e8 100644 --- a/.github/workflows/ci_pip.yml +++ b/.github/workflows/ci_pip.yml @@ -11,28 +11,37 @@ 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 + - uses: actions/checkout@v6 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: 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==80 # 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..f726252 100644 --- a/.github/workflows/ci_pre_pip.yml +++ b/.github/workflows/ci_pre_pip.yml @@ -11,15 +11,16 @@ 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 + - uses: actions/checkout@v6 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} @@ -27,11 +28,17 @@ jobs: - name: Install Moose run: | - pip install pyneuroml scipy # missing(?) dependencies + pip install setuptools==80 # needed for Eden on py 3.12 + 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 +61,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..a99185c 100644 --- a/.github/workflows/omv-ci.yml +++ b/.github/workflows/omv-ci.yml @@ -3,32 +3,40 @@ 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 ] - engine: [ jNeuroML, jNeuroML_NEURON, jNeuroML_validate, jNeuroML_Moose, jNeuroML_EDEN, jNeuroML_NetPyNE ] + python-version: [ "3.9", "3.10", "3.11", "3.12"] + engine: [ jNeuroML, jNeuroML_NEURON, jNeuroML_validate, jNeuroML_Moose, jNeuroML_Moose:4.1.4, jNeuroML_EDEN, jNeuroML_NetPyNE ] steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 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==80 # 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