Skip to content

Docs: Sphinx→MkDocs migration + descending-drive Poisson fix + Optuna… #93

Docs: Sphinx→MkDocs migration + descending-drive Poisson fix + Optuna…

Docs: Sphinx→MkDocs migration + descending-drive Poisson fix + Optuna… #93

Workflow file for this run

name: tests
on:
pull_request:
branches: [main, improved-semg]
push:
branches: [main, improved-semg]
workflow_dispatch:
jobs:
pytest:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
python-version: ["3.12", "3.13"]
steps:
- uses: actions/checkout@v5
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
- name: System packages for NEURON / MPI (Linux)
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y libopenmpi-dev openmpi-bin libgtk2.0-dev
- name: Check NEURON 8.2.7 macOS wheel availability
if: runner.os == 'macOS'
run: |
python -m pip install --upgrade pip
if ! pip download --only-binary=:all: --no-deps neuron==8.2.7 -d /tmp/neuron_probe >/dev/null 2>&1; then
echo "::error::No prebuilt neuron==8.2.7 wheel available for macOS on PyPI. uv sync will fail."
exit 1
fi
- name: Install uv
run: |
python -m pip install --upgrade pip
python -m pip install uv
- name: Install project with dev group
run: |
uv sync --group dev
- name: Compile NEURON mechanisms
run: uv run poe setup_myogen
- name: Run pytest
run: uv run pytest tests/ -v