From 3ef1e59222113467ffabc6da043bccc08a78cc3a Mon Sep 17 00:00:00 2001
From: pgleeson
Date: Thu, 27 Jun 2024 12:36:54 +0100
Subject: [PATCH] Add omv tests
---
.github/workflows/omv-ci.yml | 41 ++++++++++++++++++++++++
.gitignore | 3 ++
spherSomaSwc/NeuroML2/.test.jnmleden.omt | 8 +++++
spherSomaSwc/NeuroML2/.test.jnmlnrn.omt | 8 +++++
spherSomaSwc/NeuroML2/.test.validate.omt | 5 +++
5 files changed, 65 insertions(+)
create mode 100644 .github/workflows/omv-ci.yml
create mode 100644 spherSomaSwc/NeuroML2/.test.jnmleden.omt
create mode 100644 spherSomaSwc/NeuroML2/.test.jnmlnrn.omt
create mode 100644 spherSomaSwc/NeuroML2/.test.validate.omt
diff --git a/.github/workflows/omv-ci.yml b/.github/workflows/omv-ci.yml
new file mode 100644
index 0000000..5c74a42
--- /dev/null
+++ b/.github/workflows/omv-ci.yml
@@ -0,0 +1,41 @@
+
+name: Continuous build using OMV
+
+on:
+ schedule:
+ - cron: "1 1 1 */2 *"
+ push:
+ branches: [ main, development, experimental, test* ]
+ pull_request:
+ branches: [ main, development, experimental, test* ]
+
+jobs:
+ build:
+
+ runs-on: ubuntu-latest
+ strategy:
+ fail-fast: false
+ matrix:
+ python-version: [ 3.9, "3.11" ]
+ engine: [ jNeuroML_validate, jNeuroML_NEURON, jNeuroML_EDEN ]
+
+ 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 OMV
+ run: |
+ pip install git+https://github.com/OpenSourceBrain/osb-model-validation
+
+ - name: Run OMV tests on engine ${{ matrix.engine }}
+ run: |
+ omv all -V --engine=${{ matrix.engine }}
+
+ - name: OMV final version info
+ run: |
+ omv list -V # list installed engines
+ env
diff --git a/.gitignore b/.gitignore
index 89fd466..6374e13 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,3 +11,6 @@ build
arm64
/spherSomaSwc/NeuroML2/*.dat
/spherSomaSwc/NeuroML2/simulator.props
+*_code.gen.c
+*_code.gen.so
+*_eden.py
diff --git a/spherSomaSwc/NeuroML2/.test.jnmleden.omt b/spherSomaSwc/NeuroML2/.test.jnmleden.omt
new file mode 100644
index 0000000..af52220
--- /dev/null
+++ b/spherSomaSwc/NeuroML2/.test.jnmleden.omt
@@ -0,0 +1,8 @@
+# Script for running automated tests on OSB, see https://github.com/OpenSourceBrain/osb-model-validation
+
+target: LEMS_pyrfull_out.xml
+engine: jNeuroML_EDEN
+
+
+
+
diff --git a/spherSomaSwc/NeuroML2/.test.jnmlnrn.omt b/spherSomaSwc/NeuroML2/.test.jnmlnrn.omt
new file mode 100644
index 0000000..1b43d0c
--- /dev/null
+++ b/spherSomaSwc/NeuroML2/.test.jnmlnrn.omt
@@ -0,0 +1,8 @@
+# Script for running automated tests on OSB, see https://github.com/OpenSourceBrain/osb-model-validation
+
+target: LEMS_pyrfull_out.xml
+engine: jNeuroML_NEURON
+
+
+
+
diff --git a/spherSomaSwc/NeuroML2/.test.validate.omt b/spherSomaSwc/NeuroML2/.test.validate.omt
new file mode 100644
index 0000000..c0f9086
--- /dev/null
+++ b/spherSomaSwc/NeuroML2/.test.validate.omt
@@ -0,0 +1,5 @@
+# Script for running automated tests on OSB, see https://github.com/OpenSourceBrain/osb-model-validation
+
+# This test will validate all of the NeuroML 2 files in the current directory using: jnml -validate *.nml
+target: "*.nml"
+engine: jNeuroML_validate