Skip to content

To v0.3.5

To v0.3.5 #362

Workflow file for this run

name: Continuous builds
on:
push:
branches: [ main, development, experimental, test* ]
pull_request:
branches: [ main, development, experimental, test* ]
jobs:
pre-commit:
name: Format
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.10"
- uses: pre-commit/[email protected]
with:
extra_args: --hook-stage manual --all-files
build:
name: Build for Python ${{ matrix.python-version }} on ${{ matrix.runs-on }}
runs-on: ${{ matrix.runs-on }}
strategy:
fail-fast: false
matrix:
python-version: [ "3.8", "3.9", "3.10", "3.11", "3.12" ]
runs-on: [ubuntu-latest, macos-latest, windows-latest]
exclude:
- runs-on: macos-latest
python-version: "3.8"
- runs-on: macos-latest
python-version: "3.9"
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 HDF5 for pytables on macos-14
if: ${{ matrix.runs-on == 'macos-latest' }}
run: |
brew install hdf5
- name: Install package
run: |
python -m pip install --upgrade pip
pip install .[dev]
- name: Lint with flake8
run: |
flake8 . --count --exit-zero --show-source --max-line-length=127 --statistics
- name: List packages so far
run: |
pip list
- name: Run simple examples
run: |
cd examples
python document.py
git diff
cd test
python test.py
- name: Test NeuroML examples
run: |
cd examples/neuroml2
python neuroml2_spec.py
# Note: NeuroML files will be validated with OMV below
- name: Test SBML examples
run: |
cd examples/sbml
./regenerateAndTest.sh
- name: Run pytest
run: |
pytest tests -v
- name: Test NeuroMLlite
run: |
git clone --branch development https://github.com/NeuroML/NeuroMLlite.git
cd NeuroMLlite
# pip install . # Use versions of neuroml libs as set in modelspec's setup.cfg -> dev -> NeuroMLlite
cd examples
python Example1.py
- name: Install MDF
run: |
git clone --branch development https://github.com/ModECI/MDF.git
cd MDF
pip install .
cd examples/MDF
python arrays.py -run # test one example
- name: Build Documentation
run: |
# Note: contributors generation below fails on py 3.7 due to pandas version...
pip install .[docs]
cd docs
python generate.py
python contributors.py
cd sphinx
make clean
make html
- name: Install and test with OMV
if: ${{ matrix.runs-on != 'windows-latest' }}
run: |
# Note: OMV not well tested on Windows...
pip install git+https://github.com/OpenSourceBrain/osb-model-validation
pip install scipy sympy matplotlib cython pandas tables
# Run OMV tests on all engines
cd examples
omv all -V
omv list -V # list installed engines
- name: Final version info
run: |
pip list
env