omv-ci.yml 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. name: Continuous build using OMV
  2. on:
  3. push:
  4. branches: [ main, development, experimental, test*, feat/* ]
  5. pull_request:
  6. branches: [ main, development, experimental, test*, feat/* ]
  7. jobs:
  8. build:
  9. runs-on: ${{ matrix.runs-on }}
  10. strategy:
  11. fail-fast: false
  12. matrix:
  13. # engine: [ jNeuroML_validate, "NEURON:7.6", "NEURON:8.0", jNeuroML_NEURON, jNeuroML_NetPyNE, jNeuroML_EDEN ]
  14. engine: [ jNeuroML_validate, "NEURON:7.6", "NEURON:8.0", jNeuroML_NEURON, jNeuroML_NetPyNE, jNeuroML_EDEN]
  15. runs-on: [ ubuntu-latest, macos-latest ]
  16. python-version: [ 3.9 ]
  17. steps:
  18. - uses: actions/checkout@v4
  19. - name: Set up Python ${{ matrix.python-version }}
  20. uses: actions/setup-python@v5
  21. with:
  22. python-version: ${{ matrix.python-version }}
  23. - name: Install HDF5 for pytables on macos-latest
  24. if: ${{ matrix.runs-on == 'macos-latest' }}
  25. run: |
  26. brew install hdf5
  27. - name: Install OMV
  28. run: |
  29. pip install git+https://github.com/OpenSourceBrain/osb-model-validation
  30. pip install scipy sympy matplotlib cython pandas tables
  31. pip install 'numpy<=1.23.0' # see https://github.com/OpenSourceBrain/osb-model-validation/issues/91
  32. - name: Compile some mod files, required for NEURON tests
  33. run: |
  34. if [[ ${{ matrix.engine }} == *"NEURON"* ]]; then omv install NEURON; cd NeuroML2/tests ; nrnivmodl ../../L23Net/mod ; fi
  35. - name: Run OMV tests on engine ${{ matrix.engine }}
  36. run: |
  37. omv all -V --engine=${{ matrix.engine }}
  38. - name: OMV final version info
  39. run: |
  40. omv list -V # list installed engines
  41. env